[英]REST based Response Status codes
我不確定請求有效時使用什么響應代碼,但給定參數沒有結果
JSON返回成功的true / false和一條消息
當我執行GET
並使用一些數據時:
200 HttpStatusCode.OK
但是,在沒有數據的地方,我仍然應該使用OK
並返回JSON成功/消息,還是應該使用400 HttpStatusCode.BadRequest
來指示請求中的內容是錯誤的。
這取決於客戶沒有結果的含義。 通常,缺少數據仍然是http 200 ok。
例如/employees
等
但是,在某些情況下,您可能會返回HTTP 404 Not Found。
尤其是當客戶希望存在特定資源時。
例如employees/update/32
通常,任何其他響應代碼(204等)盡管在技術上有效且合適,但可能會使客戶端感到困惑。 另外,如果請求沒有問題,也不應使用400 Bad Request。
如果操作成功,但實際上沒有響應數據,請使用狀態204 NO CONTENT
。 如果缺少期望的實體,則返回404 NOT FOUND
。 如果存在某種內部錯誤,則返回500 SERVER ERROR
。
根據HTTP / 1.1規范 ,
服務器已滿足請求,但不需要返回實體,可能要返回更新的元信息。 響應可以包括實體標題形式的新的或更新的元信息,如果存在,則應與所請求的變量相關聯。
如果客戶端是用戶代理,則不應更改導致發送請求的文檔視圖。 盡管任何新的或更新的元信息都應該應用於當前在用戶代理的活動視圖中的文檔,但該響應主要旨在允許輸入操作而不會導致更改用戶代理的活動文檔視圖。
204響應必須不包含消息正文,因此始終由標頭字段之后的第一個空行終止。
如果請求沒有問題,但是您沒有任何數據(即搜索返回0行),那么我將不會使用BadRequest
:
當沒有其他錯誤適用,或者確切的錯誤未知或沒有自己的錯誤代碼時,將發送BadRequest。
http://msdn.microsoft.com/en-us/library/system.net.httpstatuscode%28v=vs.110%29.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.