.get()
、.post()
、.put()
和.delete()
在nodeJS和express中纯粹是语义化的吗?(这些方法在幕后是否有任何区别?)如果你正在设计API,最终你只是发送一个
req
并等待一个res
负载。例如,您可以使用
.get()
请求从数据库中删除内容吗?或者使用
.get()
请求接受req.body
吗?那么axios的前端呢?
.get()
、.post()
、.put()
和.delete()
在nodeJS和express中纯粹是语义化的吗?(这些方法在幕后是否有任何区别?)req
并等待一个res
负载。.get()
请求从数据库中删除内容吗?.get()
请求接受req.body
吗?[来自几位高级开发人员,Andrew Studnicky和Gavin Ray的回答]
是的,你可以使用get()
请求从数据库中删除项目。
HTTP动词包括GET / POST / PUT / PATCH / DELETE / OPTIONS。您可以设计您的API以匹配请求的语义,但没有强制要求。
需要注意的是,特别是在REST规则方面有一些限制。例如,DELETE
理论上可以有一个请求正文(REST白皮书没有指定它不能),虽然不建议这样做,但某些供应商(如auth0)确实要求DELETE
具有requestBody。
需要注意的是,在发出请求之前,axios会剥离此内容,除非您执行一些解决方法逻辑。
虽然理论上您可以在服务器获取数据后对其进行任何操作,但如果您遵循惯例,您的消费者和同事将不胜感激。
社区指南存在于设计智慧和语义方面的共同贡献。
最初的回答