更新现有资源时,API REST返回新资源

时间:2018-11-15 10:40:53

标签: php rest api symfony

我的应用程序中有一个ProjectStep资源,我必须创建一个API端点,该端点将用于更新我的ProjectStep以将其标记为完成并创建下一个ProjectStep。在我的REST API中,我可以做这样的事情:

PATCH /project-mark/1
POST  /project-mark

但是我只想使用一个请求来更新当前步骤,创建一个新请求并返回新创建的ProjectStep。

您将使用哪种方法? PATCH请求更新现有资源并返回其他资源听起来不是一个好主意。

谢谢

1 个答案:

答案 0 :(得分:0)

使用PUT请求,请参见此链接

https://stackoverflow.com/questions/630453/put-vs-post-in-rest

主要使用PUT API更新现有资源(如果该资源不存在,则API可能会决定是否创建新资源)。如果PUT API已创建新资源,则原始服务器务必通过HTTP响应代码201(已创建)响应通知用户代理,并且如果修改了现有资源,则应为200(确定)或204(无内容)响应代码应发送以指示请求已成功完成。

如果请求通过缓存,并且Request-URI标识一个或多个当前缓存的实体,则应将这些条目视为过期。此方法的响应不可缓存。