繁体   English   中英

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

[英]NodeJS Express - Difference between GET/POST/PATCH/DELETE behind the scenes

.get() , .post() , .put() , .delete()是 nodeJS 和 express 的纯粹语义吗? (在幕后,这些方法有什么不同吗?)

如果你正在设计一个 API,在一天结束时你只是发送一个req并等待一个res负载

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

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

使用 axios 进行前端怎么样?

[答案来自一些资深开发者,Andrew Studnicky 和 ​​Gavin Ray]

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

HTTP 动词是 GET/POST/PUT/PATCH/DELETE/OPTIONS。 你设计你的 API 来匹配请求的语义,但没有什么强迫你

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

你应该注意到 axios在发出请求之前把它去掉,除非你执行一些变通逻辑

虽然理论上您可以在服务器获取数据后对数据做任何您想做的事情,但如果您坚持惯例,您的消费者和同事会很感激。

社区指南作为设计智慧的集体贡献存在,就像它们在语义中所做的一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM