2017-02-15 36 views
0

我在想,如果有必要與當客戶端試圖刪除用戶404狀態代碼返回User doesn't exist消息。是否有必要嘗試刪除該資源時返回`404未Found`?

  • 如果我們要刪除用戶,那麼返回User doesn't exist消息有什麼意義?

  • 如果我們想知道用戶確實存在或不存在,我們將使用GET方法而不是DELETE方法嗎?如果用戶甚至不之前存在,那麼就不會被顯示在列表中,你會如何想刪除它?假設我在瀏覽器中打開了兩個選項卡,然後在第一個選項卡中刪除了用戶,現在我試圖刪除第二個選項卡中的同一用戶,我應該獲得200 OK狀態還是404 Not Found

該用戶不存在了,這不是我想要的嗎?對我來說不應該是OK

+2

如果您刪除操作經過成功的話,那就是你返回狀態代碼確定最好的,這意味着你的手術很成功。 – Sparrow

回答

1

一般而言,當您嘗試GET不存在的資源,你應該返回404(與消息一起,如果你想)。

當您嘗試使用DELETE資源時,意圖是「此資源在此調用之後不應該存在」,您應始終返回2XX代碼(如果沒有內容 - 一般情況下爲204),或者200/202是你有的選擇)。該資源已被刪除或從未存在不與意圖相沖突,所以沒有來回報404

希望這有助於事實。

相關問題