导致删除资源的补丁是否适合RESTAPI?

导致删除资源的补丁是否适合RESTAPI?,api,rest,Api,Rest,考虑一下这样的想法:我有一个名为Posts的资源(数据库中的等效表名为Post),它有一个子资源[?](Post表的字段/属性),名为numberOfDislikes 定期请求PATCH/api/v1/posts/123,以增加numberOfDislikes字段 在发出PATCH/api/v1/posts/123请求时运行的回调函数中,当numberOfDislikes达到10时,ID=123的帖子将被删除 那是安静的吗?是的。客户端发送补丁,以更改资源的服务器状态。如果此操作成功,服务器将向

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

定期请求
PATCH/api/v1/posts/123
,以增加
numberOfDislikes
字段

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


那是安静的吗?是的。客户端发送
补丁
,以更改资源的服务器状态。如果此操作成功,服务器将向客户端返回一个响应,告知客户端
补丁
已成功

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

如果客户端现在
GET
s资源,服务器应使用正确的HTTP响应进行响应:

指示请求的资源不再可用,并且将不再可用。当资源已被故意删除且应清除时,应使用此选项

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