我是节点和快递的新手。所以,我正在学习如何发布请求。当我学习时,没问题,它正在 mangodb 数据库中创建另一个文档。今天当我尝试做同样的事情时,出现了这个问题。
我尝试了不同的事情,比如删除架构中的必需部分。但似乎 express 无法读取 req.body ,因为当我发送请求时,架构中没有任何必填字段,它很高兴地接受并填充了默认字段。我真的不明白发生了什么。我同时在做另一个没有出现这个错误的项目。
附注。我正在使用猫鼬@5。
创建游览的代码:
exports.createTour = async (req, res) => {
try {
const newTour = await Tour.create(req.body);
res.status(201).json({
status: 'success',
data: {
tour: newTour,
},
});
} catch (err) {
res.status(404).json({
status: 'fail',
message: err.message,
});
}
};
如果content-type
你的 POST 是 JSON,那么你需要这个:
app.use(express.json())
作为 POST 请求处理程序之前的中间件。这将读取请求的 JSON 正文,对其进行解析并将其放入req.body
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句