2009-10-24 27 views
2

我有一個返回JSON的REST-ish API。其中一個輸出字段是status,它指示調用是否成功。我推測,這是有些標準使用數值狀態代碼,如REST樣式API調用的輸出中的狀態字段應該是數字代碼還是字符串?

200 success 
400 syntax error 
401 authentication error 
402 general error 
404 user not found 
408 timed out 
500 fatal error 
501 not yet implemented 

是否有(比傳輸稍微少字節等)使用數字代碼,而不是更說明符號來表示的狀態,就像

任何原因
success 
syntax_error 
auth_error 
general_error 
user_not_found_error 
time_out_error 
fatal_error 
not_yet_implemented_error 

指向備受好評的API中的現代先例將會有所幫助。

回答

2

只要它們是標準的(跨越您的應用程序)並且爲使用Web服務的人員的利益進行記錄,您就可以使其成爲您想要的東西。

喜歡使用HTTP狀態碼(如404)是真正的REST web服務基於HTTP傳輸,因此使用公認的標準是有意義的。這就是說,你可能會發現HTTP/1.1狀態代碼並不是一個完全適合的東西 - 比如你的'404用戶沒有找到'相當於'404找不到' - 我認爲只要它的含義是那麼精細。

如果您必須創建全新的代碼,則值得堅持使用HTTP組 - 2xx以獲得可接受的結果,3xx用於所需更改,4xx用於客戶端錯誤,5xx用於服務器端錯誤。

+0

明白了,謝謝!不是「真正的休息」我想我不會擔心數字代碼。 – dreeves 2009-10-24 17:39:33

相關問題