我在想我是否应该使用POST或PUT来调用我的API。我应该使用POST还是PUT来创建或更新API调用
后端将创建或更新我的数据库中的现有行。我知道我使用POST创建和PUT更新,但是当我不知道哪一个会被创建/更新时,我应该使用什么?
我在想我是否应该使用POST或PUT来调用我的API。我应该使用POST还是PUT来创建或更新API调用
后端将创建或更新我的数据库中的现有行。我知道我使用POST创建和PUT更新,但是当我不知道哪一个会被创建/更新时,我应该使用什么?
我不认为创建/更新区别是决定PUT和POST之间的最佳方式。这由rest cook book备份:
HTTP方法POST和PUT不是CRUD创建和更新的HTTP等效项。
我建议您阅读那篇文章,但由于有些评论曾表示他们不明白,我会尝试以另一种方式解释。
这听起来像您的请求是幂等的,并且您知道资源将在前面生活的确切URL,所以我认为您应该使用PUT。
正如其余的烹饪书籍文章中所表达的,在资源创建和更新中使用PUT是完全正确的。
如果您可以使用PUT,那么您应该这样做,因为它可以为客户端提供有关该服务的更多信息。例如,对于PUT请求,容错,弹性和分配要容易得多,因为您不关心相同的请求是否多次发生。构建POST请求的容错应用程序可能会有点棘手,因为您必须确保请求只发生一次。执行重试逻辑也比PUT更容易,因为你不关心请求失败的地方,你可以重新尝试,因为幂等性。
对POST执行重试有点困难,因为客户端不确定请求是否成功,并且必须假定发出多个POST请求可能会造成损坏。
使用PUT api调用。 POST主要用于创建数据。
如果您不知道要使用什么,请使用POST。如果您不太确定,请参考:http://restcookbook.com/HTTP%20Methods/put-vs-post/
但是,数据也可以创建,或者是“确定”使用PUT来创建和更新吗? – user2636197
如果是这种情况,那么你可以使用POST。 –