2015-09-02 40 views
1

想知道如何使用單個端點來執行這些操作。這實際上不是一個刪除,但設置標誌刪除= 0或1,所以我想put,如果它是一個實際刪除,我會使用DELETE(請確認這一點以及)DELETE和UNDELETE的REST約定

但我如何區分在服務器端的這兩個調用之間。

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

OR

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

編輯 我已經到位的產品定期更新,讓我們說這是名稱,數量等,所以它有點衝突定期更新VS 。取消刪除。請告知本以及

+0

@LutzHorn評論請。 – user2727195

回答

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

+0

但我已經在PUT中更新產品詳細信息了,它與我現有的更新操作相比有點相互衝突,請問您是否知道我的意思? – user2727195

+0

你可以做一個'PATCH'並且發送'IsActive'位 – Nix

+0

我喜歡PATCH,所以實際上PATCH用於標記爲刪除或isActive位,實際刪除(刪除行)會發生在DELETE – user2727195