这是我的密码--------
const express = require("express");
const router = express.Router();
const gravatar = require("gravatar");
// Load User model
const User = require("../../models/User");
// @route GET api/users/test
// @desc Tests users route
// @access Public
router.get("/test", (req, res) => res.json({ msg: "Users Works" }));
// @route GET api/users/register
// @desc Register user
// @access Public
router.post("/register", (req, res) => {
User.findOne({ email: req.body.email }).then(user => {
if (user) {
return res.status(400).json({ email: "email already exists" });
} else {
const avatar = gravatar.url(req.body.email, {
s: "200", // Size
r: "pg", // Rating
d: "mm" // Default
});
const newUser = new User({
name: req.body.name,
email: req.body.email,
avatar,
password: req.body.password
});
}
});
});
module.exports = router;
当我尝试对.post(/register…)路由进行邮递员测试时,它会暂停加载几分钟,然后给出错误--
“无法得到任何响应 连接到 http://localhost:5000/api/users/register 时出错。为什么会发生这种情况:
服务器无法发送响应:确保后端正常工作
自签名 SSL 证书被阻止:通过在“设置”中关闭“SSL 证书验证”来解决此问题
请求超时:在设置中更改请求超时
调整建议的选项没有任何作用,我认为这两者都不是原因,因为我能够成功地处理.get(/test)路径。
**注意,我在邮递员请求的主体中添加了key:values,用于输入姓名、电子邮件和密码。化身是通过电子邮件生成的。
这是我使用(发布)--- http://localhost:5000/api/users/register
作为参考,这是工作路线(get)---http://localhost:5000/api/users/test
任何帮助都会很棒!
我猜你正在尝试注册一个用户并保存它 mongoDB 并返回响应。你做错了什么,就是你没有把数据回复给用户。此外,您不会在整个 API 调用中保存任何内容。
你可以这样做。
router.post("/register", (req, res, next) => {
User.findOne({ email: req.body.email }).then(user => {
if (user) {
return res.status(400).json({ email: "email already exists" });
} else {
const avatar = gravatar.url(req.body.email, {
s: "200", // Size
r: "pg", // Rating
d: "mm" // Default
});
const newUser = new User({
name: req.body.name,
email: req.body.email,
avatar,
password: req.body.password
});
newUser.save()
.then(user => {
res.status(201).json(user); // 201 is HTTP Code for "Created"
});
.catch(next); // we usually handle error in a common middleware, which is why, I am calling "next" here with error as 1st argument.
}
});
});
在 else 块中没有返回语句。请尝试如下操作...它应该工作
// @route GET api/users/register
// @desc Register user
// @access Public
router.post("/register", (req, res) => {
User.findOne({ email: req.body.email }).then(user => {
if (user) {
return res.status(400).json({ email: "email already exists" });
} else {
const avatar = gravatar.url(req.body.email, {
s: "200", // Size
r: "pg", // Rating
d: "mm" // Default
});
return res.status(200).json(new User({
name: req.body.name,
email: req.body.email,
avatar,
password: req.body.password
}));
}
});
});
有人能帮助我如何使用以下参数发送POST请求吗: 我试着在《邮递员的身体》中发送一个带有以下参数的: 然而,在发送上述请求时,我得到的位置字符串为null。
我正试着在邮递员上打API。API正在服务器上工作,但我没有收到任何数据。以下是视觉图像: 它是回应我与“没有数据”和400错误的要求。
我通过邮递员以以下方式调用我的java webservice(POST请求),这种方式工作得非常好(即,我可以看到我的记录被插入到数据库中): 下面是选项卡中的内容: 我必须使用CURL在PHP中调用相同的请求,而不是通过POSTMAN调用它。我想知道是否有办法将此命令导出到命令,以便在PHP代码中使用它?我在网上的许多地方发现了相反的方法,有人要求将基于Curl的请求转换为POSTMAN,但却不
我试图使用Postman而不是Web服务的API文档提供的终端命令来请求数据。 curl命令如下: 我怎么能在邮递员内申请这个?我尝试添加和作为请求参数,但这不起作用
检查这个的步骤 添加相关信息如下,我正在设置show_mature和newsletter_subscribedtrue 预期:将show_mature和newsletter_subscribed值设置为true实际:show_mature和newswetter_sSubscribed的值为false 如果有人能让我知道为什么会发生这种情况,我会非常感激吗?谢谢
我正在尝试使用Postman访问API,以使用基本身份验证获取响应,但当我提交数据时,它会给我带来可怕的400错误,这显然表明某些标头设置不正确。 以下是API信息: 作为回应,我应该得到一个JSON形式的加密令牌,而不是得到这个错误。 以下是邮差截图: 我错过了什么吗?