我閱讀了很多關於RESTful API Design的內容。 但是當涉及到實施時,它不再那麼容易了。 我被困在下面的問題:Restful Collections - 如何刪除或刪除項目
假設以下2端點:
- /API/V1 /用戶/:ID
- /API/V1 /用戶/ 1 /朋友/:ID
大家都可以看到,朋友是資源用戶的集合。 用戶可以在他的好友列表中擁有n個好友(標準情況下,這將成爲多人對象,但現在讓我們假設這是一對多)。 好,現在我想REMOVE用戶從用戶1通過執行下列HTTP請求的friendslist(ID = 3):
DELETE API/V1 /用戶/ 1 /朋友/ 3
而這正是我被困 - 任一方請求刪除具有ID = 3或刪除從集合中的資源在整個用戶資源。因爲兩者都是有效的Restful實現,我認爲。
所以,問題是: 如何不刪除原始資源
我希望這個問題是沒有重複的從集合中刪除一個項目 - 但我沒有google了很多尋找答案。也許我不知道相關的技術術語,以找到一些令人滿意的結果...
感謝轉發。
你爲什麼問「如何刪除」?如果你問「我應該使用這樣的URI從集合中刪除一個項目而不刪除原始資源嗎?」我會回答「是的,看起來非常RESTful」。這是你的問題嗎? –
對不起,我是RESTful實現的新手 - 正如我在下面評論的,我一直認爲DELETE在一個集合中刪除鏈接和/或刪除原始資源。所以我不確定如何在集合上實現DELETE。但是像勘誤表示的那樣,在一個集合的上下文中,DELETE-Method **只刪除**鏈接**。它確實不會影響原始資源**。這就是關鍵! ;-) –