DELETE和UNDELETE的REST约定

时间:2015-09-02 19:15:24

标签: rest uri naming-conventions

想知道如何为这些操作使用单个端点。它实际上并不是删除,而是将标记设置为已删除= 0或1,因此我正在考虑put,如果它是实际删除,我会使用DELETE(请确认这一点)

但是如何区分服务器端的这两个调用。

PUT /product/:id   (to delete)
PUT /product/:id   (to undelete) 

OR

DELETE /product/:id (to delete)
DELETE /product/:id (to undelete)

修改 我已经将PUT定期更新产品,让我们说出它的名称,数量等等,所以它与常规更新和取消删除相冲突。请同意建议

1 个答案:

答案 0 :(得分:1)

(因为你不能使用PUT)我建议:

DELETE /product/:id   (to delete)
PATCH /product/:id  (to update/undelete)
// and just send a simple payload/query parameter specifying the `IsActive` bit.) 

对于PATCH,我会有一点取消删除它,所以它和更新的字段子集。在服务器上,您将拥有一个控制器,并查看http方法(PATCH | DELETE