【发布时间】:2021-01-15 10:22:00
【问题描述】:
我目前正在为 Web 服务编写 RESTful API,但遇到了麻烦。我试图删除一封邮件,但首先我想检查邮件是否存在。我的问题是它不检查邮件是否为空并且不以 404 响应。我正在使用 express 和 mongoose
router.delete('/:id', (req, res) => {
const { id } = req.params;
Mail.findById(id)
.exec()
.then((mail) => {
if (!mail) {
console.log(mail) // returns null
return res.status(404);
}
})
.then(
Mail.deleteOne({ _id: id })
.exec()
.then(() => {
res.status(200).json({
message: 'Mail deleted',
});
})
.catch((err) => {
res.status(500).json({ error: err });
})
);
});
【问题讨论】:
-
您能否在问题中添加有关预期行为与实际行为的信息?
-
是的,对不起。如果邮件为空,我希望以 404 的 HTTP 状态代码进行响应。否则它应该通过删除找到的邮件继续
标签: javascript rest express mongoose http-delete