【发布时间】:2020-06-28 02:35:28
【问题描述】:
我正在尝试测试我的项目,我现在正在使用邮递员传递一些数据: 我已经通过“body”将邮递员设置为“POST”到我的本地服务器,然后我发送以下内容:
{
"name": "My Name"
}
那么,我的服务器文件发布请求是:
const express = require('express'),
router = express.Router(),
gravatar = require('gravatar'),
bcrypt = require('bcryptjs'),
{check, validationResult} = require('express-validator');
// User Model
const User = require('../../models/User');
// @route GET api/users
// @description Test Route
// @access Public
router.get('/', (req, res) => {
res.send("User Route")
});
// @route POST api/users
// @description Register User
// @access Public
router.post('/', [
check('name', 'Name is required').not().isEmpty(),
check('email', 'Please enter a valid email address').isEmail(),
check('password', 'Password must contain at least 6 characters').isLength({min: 6})
], async (req, res) => {
return res.send(req.body);
});
module.exports = router;
在我测试任何其他代码之前,我输入 res.send(req.body) 以确认任何内容都被发送到我的服务器,但是,res.send 只返回:{} 表示没有json 信息已发送到我的服务器。我知道路由有效,因为当我输入 GET 请求时,它会按预期运行。我在这里有什么明显的遗漏吗?谢谢。
【问题讨论】:
-
可能是因为它是异步的,你试过删除它吗?
-
你在末尾缺少一个右括号:
return res.send(req.body); }应该是return res.send(req.body); }) -
另外,你的 GET 路由没有大括号,所以也不应该工作
-
您是否尝试过在 Postman 中设置键/值对而不是原始 JSON?
-
我刚刚使用原始 JSON 测试了您的路线,但没有“检查”数组,它工作正常