是.get()
、.post()
、.put()
、.delete()
纯语义与 nodeJS 和表达? (在幕后,这些方法有什么不同吗?)
如果你正在设计一个 API,在一天结束时你只是发送一个 req
并等待一个 res
payload
例如,如果您真的想要,可以使用 .get()
请求从数据库中删除内容吗?
或者接受 req.body
使用 .get()
请求?
使用 axios 的前端怎么样?
最佳答案
[答案来自一些高级开发人员,Andrew Studnicky 和 Gavin Ray]
是的,您可以使用 get()
请求从数据库中删除项目
HTTP 动词是 GET/POST/PUT/PATCH/DELETE/OPTIONS。 您设计您的 API 以匹配请求的语义,但没有任何东西强制您这样做
我要指出的是,Axios(前端)特别针对可以进入请求类型的内容制定了一些规则,尤其是在改变 REST 规则时。例如,DELETE
可以技术上有一个请求主体(REST 白皮书没有指定它不能)——虽然不建议这样做,但一些 vendor (例如 auth0 ) 在 DELETE
你应该注意 axios 会在发出请求之前去掉它,除非你执行一些变通逻辑
虽然理论上您可以在服务器获取数据后随心所欲地处理数据,但如果您坚持惯例,您的消费者和同事将会很感激。
社区指南作为设计智慧的集体贡献而存在,就像它们在语义中所做的一样。
关于javascript - NodeJS Express - GET/POST/PATCH/DELETE 幕后的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55773956/