我已經瀏覽了HTTP/1.1協議規範RFC-2616,我想了解在調用特定REST方法時應該返回哪個狀態碼。據我所研究的協議(鏈接),我試圖解析REST方法,以正確的狀態代碼:REST:根據RFC 2616 HTTP/1.1規範的正確響應狀態?
- GET
- 到的情況下,返回200 (ok)至少一個資源被發現。
- 我應該返回204(找不到)如果找不到任何東西(即返回空列表)?
- PUT
- 到如果資源被修改基於200 (ok) or 204 (not found)返回或不
- 而且返回501 (unimplemented)如果請求的格式不正確或不被理解。
- POST
- 與如果新reource已被添加到基於共同recommendation的生產地
- 返回201 (created)的差相同的像PUT方法,POST前人的精力用於創建一個新的資源,PUT修改現有的。如果我決定遵循這一建議,那麼在嘗試修改現有資源前,我應該返回什麼?
POST api/v1/person/1
?
- PATCH
- 與差異同樣喜歡PUT方法就像放的做法,但itmodifies資源不更換整個資源部分
- 沒有關於在W3 PATCH REST方法字協議RFC-2616,應該像PUT一樣對待它嗎?
- DELETE
- 返回200 (ok)如果資源被刪除,[204(未找到)]的情況下,沒有現有的除去資源(ID未找到)。在REST實施的情況下是否複製GET響應principe?
是我的「表」正確的(特別是帶引號?
報表?是正確的,只有GET應返回在體內的請求本身和方法的其餘部分只是一個URI鏈接到經修正包含在標題中的資源(新增,修改..)
我的理解是否正確,確實存在另一個描述REST方法的官方正式推薦(或者我們「有義務」)遵循的源碼嗎?我很困惑廣泛的來源給了我對這種真正冗長的RFC-2616協議的每種方法有一些不同的答案。
最好的辦法是存在一個表格,簡要清楚地描述所有這5種可能的返回狀態,正文內容和標題的方法。
嘗試將狀態碼與方法對齊可能不是一個有用的想法。 – VoiceOfUnreason
https://www.iana.org/assignments/http-methods/http-methods.xhtml包含方法定義的鏈接。 –