我试图在快递中创建一个API,并且我在/posts/:postId
上遇到删除路由的错误每当我尝试使用邮递员向该路由发出删除请求时,页面只是无限加载,请求被中止。
以下是我的/posts/:postId
路线的样子:
router.route("/:postId")
.get(controllers.getSinglePost)
.delete(function(req, res){ res.send('work'); });
以下是controllers.getSinglePost
函数的样子:
`
exports.getSinglePost = function(req, res){
db.Post.findById(req.params.postId)
.populate('comments')
.then(post=>{
if(!post) return res.status(404).json({message: "Post not found"});
res.status(200).json(post);
}).catch(err=>{
res.status(500).json(err);
});
}
`
我真的不知道自己做错了什么。
答案 0 :(得分:0)
exports.getSinglePost = function(req, res){
db.Post.findById(req.params.postId)
.populate('comments')
.then(post=>{
if(!post) return res.status(404).json({message: "Post not found"});
res.status(200).json(post);
}).catch(err=>{
res.status(500).json(err);
});
}
答案 1 :(得分:0)
我不了解您的方法,但您可以更改代码以完成您的工作。我使用sequelize,可能不存在populate的归属。这是我的代码,它是成功的。
getSinglePost = function(req, res){
db.models.City.findById(req.params.postId)
.then(post=>{
if(!post) return res.status(404).json({message: "Post not found"});
res.status(200).json(post);
}).catch(err=>{
res.status(500).json(err);
});
}
app.route('/:postId')
.get(function(req,res){
getSinglePost(req,res)
})
.delete(function (req, res) {
res.send('Update1 the book')
})
答案 2 :(得分:0)
好的,所以看起来由于某种原因我使用的名为formidable的npm包导致了这个问题。一旦我从应用程序中删除它,它就会重新开始工作。很抱歉浪费你们的时间。