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

时间:2019-04-20 13:24:22

标签: javascript node.js api axios

.get().post().put().delete()是否完全具有nodeJS的语义并表示? (这些方法在后台有什么不同?)

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

例如,如果您确实愿意,可以使用.get()请求从数据库中删除内容吗?

还是通过req.body请求接受.get()

那么axios的前端呢?

1 个答案:

答案 0 :(得分:1)

[答案来自一些高级开发人员,Andrew Studnicky和Gavin Ray]

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

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

我会注意到,特别是Axios(前端)在请求类型中有一些规则,特别是在弯曲REST规则时。例如,DELETE可以从技术上具有请求正文(REST白皮书未指定不能这样做)-并且不建议这样做,但某些供应商(例如auth0)确实需要DELETE

上的requestBody

您应注意,除非您执行一些解决方法逻辑,否则axios 将在发出请求之前将其清除

从理论上讲,一旦服务器获得数据,您就可以做任何您想做的事,但是如果您遵循约定,那么您的消费者和同事将会很高兴。

社区准则作为设计中的智慧的集体贡献而存在,正如它们在语义上所做的一样。