NodeJS Express - 幕后GET / POST / PATCH / DELETE之间的区别

问题描述 投票:2回答:1

.get().post().put().delete()与nodeJS纯粹语义并表达? (幕后是这些方法有什么不同吗?)

如果您正在设计API,那么在一天结束时您只需发送req并等待res有效负载

您是否可以使用.get()请求从数据库中删除内容,如果您真的想要?

或者使用req.body请求接受.get()

那些带有axios的前端呢?

javascript node.js api axios
1个回答
1
投票

[答案来自几位资深开发者,Andrew Studnicky和Gavin Ray]

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

HTTP动词是GET / POST / PUT / PATCH / DELETE / OPTIONS。您设计的API与请求的语义相匹配,但没有任何强迫您

我会注意到Axios(前端)特别对可以进入请求类型的内容有一些规则,特别是在弯曲REST规则时。例如,DELETE在技术上可以有一个请求体(REST白皮书没有指定它不能) - 虽然不建议,但一些供应商(如auth0)确实需要DELETE上的requestBody

您应该注意,axios会在发出请求之前将其删除,除非您执行某些解决方法逻辑

理论上,一旦您的服务器获得数据,您可以随心所欲地使用数据,如果您遵守惯例,您的消费者和同事将会很感激。

社区准则作为智慧在设计中的集体贡献存在,就像在语义学中一样。

© www.soinside.com 2019 - 2024. All rights reserved.