PATCH是否导致适用于REST API的资源的DELETE?

时间:2015-05-09 04:16:11

标签: api rest

考虑我有一个名为Posts的资源(我的数据库中的等效表名为Post)并且它有一个名为numberOfDislikes的子资源[?](Post表的字段/属性)的想法

我们会定期请求PATCH /api/v1/posts/123以增加numberOfDislikes字段。

在发出PATCH /api/v1/posts/123请求时运行的回调函数中,当numberOfDislikes到达10时,ID = 123的帖子将被删除。

是RESTful吗?

1 个答案:

答案 0 :(得分:1)

即可。客户端发送PATCH以更改资源的服务器状态。如果成功,服务器会向客户端返回一个响应,告知客户端PATCH成功。

如果现在,完全基于服务器端的逻辑,资源的服务器状态导致它被删除,这与服务器的RESTfulness无关。它只是服务器逻辑。

如果客户端现在GET是服务器应该使用正确的HTTP响应410 Gone响应的资源:

  

表示请求的资源不再可用且无法再次使用。当有意删除资源并清除资源时,应该使用此方法。

这正是发生的事情:资源不再可用。