2013-07-26 27 views
26

我有一個資源與uri /api/books/122,如果此資源不存在的客戶端發送HTTP刪除此資源的位置,此操作適當的響應代碼是什麼? 404找不到?
感謝失敗的HTTP刪除操作的HTTP響應代碼是什麼?

+0

也許從這裏選擇適當的一個? http://www.w3.org/Protocols/HTTP/HTRESP.html –

+6

我發現這個流程圖很有啓發性:http://i.stack.imgur.com/whhD1.png – huwr

+0

@huwr是否有可編輯的源代碼對於這個地方?另外 - 我認爲在底部中心出現錯誤我錯了嗎? =是 - ><響應包含實體> =是 - > 204沒有內容(??)看起來好像是/否路徑在那裏交換? – unomi

回答

21

是的,這將是404

一般來說,如果該請求是錯不知何故,和500系列的錯誤,如果出現出錯的服務器上這將是400系列的錯誤。

28

要刪除調用的響應代碼可以是以下任何一種:

  • DELETE /api/book/122 - 服務器成功處理的請求,但沒有返回任何內容
    • 204 No Content
  • DELETE /api/book/122 - 資源不存在
    • 404 Not Found
  • DELETE /api/book/122 - 資源已經被刪除
    • 410 Gone
  • DELETE /api/book/122 - 用戶沒有權限
    • 403 Forbidden

在你的情況404是apt。

+0

你能分享這個參考嗎? – maikel

+0

關於「Delete」或「Update」的URI,假設資源不再存在的場景,我認爲應該是'410'(* Gone *)。但是如果資源從一開始就不存在或者之前不存在,那麼考慮這種情況,那麼'404'有更多的意義。 –