是.get()
,.post()
,.put()
,.delete()
与nodeJS纯粹语义并表达? (幕后是这些方法有什么不同吗?)
如果您正在设计API,那么在一天结束时您只需发送req
并等待res
有效负载
您是否可以使用.get()
请求从数据库中删除内容,如果您真的想要?
或者使用req.body
请求接受.get()
?
那些带有axios的前端呢?
[答案来自几位资深开发者,Andrew Studnicky和Gavin Ray]
是的,您可以使用get()
请求从数据库中删除项目
HTTP动词是GET / POST / PUT / PATCH / DELETE / OPTIONS。您设计的API与请求的语义相匹配,但没有任何强迫您
我会注意到Axios(前端)特别对可以进入请求类型的内容有一些规则,特别是在弯曲REST规则时。例如,DELETE
在技术上可以有一个请求体(REST白皮书没有指定它不能) - 虽然不建议,但一些供应商(如auth0)确实需要DELETE
上的requestBody
您应该注意,axios会在发出请求之前将其删除,除非您执行某些解决方法逻辑
理论上,一旦您的服务器获得数据,您可以随心所欲地使用数据,如果您遵守惯例,您的消费者和同事将会很感激。
社区准则作为智慧在设计中的集体贡献存在,就像在语义学中一样。