NodeJS Express - GET/POST/PATCH/DELETE背后的区别

3
.get().post().put().delete()在nodeJS和express中纯粹是语义化的吗?(这些方法在幕后是否有任何区别?)
如果你正在设计API,最终你只是发送一个req并等待一个res负载。
例如,您可以使用.get()请求从数据库中删除内容吗?
或者使用.get()请求接受req.body吗?
那么axios的前端呢?
1个回答

2

[来自几位高级开发人员,Andrew Studnicky和Gavin Ray的回答]

是的,你可以使用get()请求从数据库中删除项目。

HTTP动词包括GET / POST / PUT / PATCH / DELETE / OPTIONS。您可以设计您的API以匹配请求的语义,但没有强制要求。

需要注意的是,特别是在REST规则方面有一些限制。例如,DELETE 理论上可以有一个请求正文(REST白皮书没有指定它不能),虽然不建议这样做,但某些供应商(如auth0)确实要求DELETE具有requestBody。

需要注意的是,在发出请求之前,axios会剥离此内容,除非您执行一些解决方法逻辑。

虽然理论上您可以在服务器获取数据后对其进行任何操作,但如果您遵循惯例,您的消费者和同事将不胜感激。

社区指南存在于设计智慧和语义方面的共同贡献。

最初的回答


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接