REST API使用错误的动词来表示请求

时间:2016-08-24 14:42:07

标签: rest

我读到PUT用于创建或更新资源,而POST用于创建资源。

如果我使用POST更新资源会发生什么。

一般情况下,如果我使用错误的动词来表示错误的请求会发生什么。例如,如果我使用GET请求在我的后端数据库中创建新条目会发生什么?

2 个答案:

答案 0 :(得分:0)

  

如果我使用POST更新资源会发生什么。

如果您是开发人员,那么除了共享API用户而不是RESTful最佳实践之外,什么都不会发生。

您可以参考this conversation,以便更好地了解2之间的区别以及为什么更好地遵守指南。

  

例如,如果我使用GET请求在后端数据库中创建新条目会发生什么?

与上述相同的答案,不是RESTful精神,也不是最佳实践。但我认为这会误解HTTP协议中的某些内容:

GET:更适合要求某事。

POST:更适合在提供某些信息的同时提出要求(它是这样的:嘿服务器!这里有一些数据,并根据它们制作一些数据。这就是为什么它& #39; s通常用于更新, 因为它有一个有效载荷 ,所以基本上是POST = GET + Payload。

询问是否可以使用GET在数据库中创建新更新是没有意义的,因为GET通常仅用于询问数据。 GET确实将有限的有效负载信息直接嵌入到URL中,因此您无法将URL与Payload完全分开。

答案 1 :(得分:0)

所有关于semantics

根据REST # 9 Method Definitions

  

POST旨在[..]

所以没有人可以强制你应用​​这些规则,即使设计以某种方式使用(我会说是正确的)。