gpt4 book ai didi

javascript - Mongoose Delete 和 Express app.delete 有什么区别

转载 作者:行者123 更新时间:2023-11-30 11:03:05 25 4
gpt4 key购买 nike

我正在学习 NodeJS 并将 MongoDB 用于数据库(用于交互的 Mongoose )。我目前正在做的类(class)只是使用 mongoose 方法来“删除”和“更新”,并使用 Express 发出“发布”请求来执行此操作。即:

app.post("/delete", function(req, res){
//do something
Item.findByIdAndRemove(item, function(err){
})
})

但是如果您查看他们建议使用的 Express 基本路由文档:

app.delete('/item', function (req, res) {
res.send('Got a DELETE request at /item')
})

我知道一切都应该是 RESTful 的,使用 POST 请求发出 DELETE 请求可能会导致问题,但在这种情况下,它们是否都完成了同样的事情?抱歉,如果这个问题是新手或难以理解,这只是我今天阅读有关 REST 的文章时注意到的事情。

最佳答案

最好使用 app.delete,而不是 app.post,因为它反射(reflect)了端点所做的事情的性质。在下面的代码中更容易看出您想删除一个项目:

app.delete("/item", (req, res) => { /* Delete item */ });

但是 POST 请求用于将新项目发布到存储 - 所以不太清楚。唯一的其他常规方法是使用 URI 中带有方法名称的 GET 请求(请参阅 this video 了解不良的 RESTful API 实践,包括这个)。

app.get("/delete-item", (req, res) => { /* Delete item */ });

关于javascript - Mongoose Delete 和 Express app.delete 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56799767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com