考虑我有一个名为Posts的资源(我的数据库中的等效表名为Post
)并且它有一个名为numberOfDislikes
的子资源[?](Post表的字段/属性)的想法
我们会定期请求PATCH /api/v1/posts/123
以增加numberOfDislikes
字段。
在发出PATCH /api/v1/posts/123
请求时运行的回调函数中,当numberOfDislikes
到达10
时,ID = 123的帖子将被删除。
是RESTful吗?
答案 0 :(得分:1)
是即可。客户端发送PATCH
以更改资源的服务器状态。如果成功,服务器会向客户端返回一个响应,告知客户端PATCH
成功。
如果现在,完全基于服务器端的逻辑,资源的服务器状态导致它被删除,这与服务器的RESTfulness无关。它只是服务器逻辑。
如果客户端现在GET
是服务器应该使用正确的HTTP响应410 Gone
响应的资源:
表示请求的资源不再可用且无法再次使用。当有意删除资源并清除资源时,应该使用此方法。
这正是发生的事情:资源不再可用。