我有一個關於在web API中返回錯誤的問題。這個Web API通常是從javascript(一個網站)調用的。 返回錯誤有兩種可能性,一種是將它們作爲字符串返回,另一種將它們作爲整數錯誤代碼返回。返回Web API中的錯誤:錯誤整數代碼或錯誤字符串?
返回錯誤的錯誤代碼的例子JSON:
{
"status" : "Error",
"error" : 30
}
一個例子JSON返回錯誤作爲錯誤字符串:
{
"status" : "Error",
"error" : "ERR_INVALID_FILENAME"
}
你認爲什麼是最好的方法?我在想,錯誤字符串選擇比較好,因爲以下幾點:
錯誤字符串選擇改進代碼的可讀性和可維護性,通過誘導自注釋代碼。 由於,而在錯誤代碼的方法時,JavaScript開發這樣寫:
在錯誤字符串的方法if (result.error == 30) { do something related to files and invalidness...}
,JavaScript的開發會寫:
if (result.error == "ERR_INVALID_FILENAME") { do something related to files and invalidness...}
在盛大瀏覽器渲染,HTML DOM操作和AJAX HTTP請求處理,這個小小的錯誤字符串檢查是微不足道的開銷。雖然在C++或C#應用程序中,我們顯然會使用枚舉,但我們在兩個獨立的實體(如web api和網站)中沒有這樣的選擇,並且成本收益似乎是合理的。
感謝您的輸入。
我同意你的意見,但這個問題可能更適合軟件工程社區。 – jorgonor
@Itay你有沒有達到任何解決方案? –
@JoseFrancis只有兩個意見,我希望這個問題有更多的答案。 我最近幾天想到的另一個額外的輸入是在API中,錯誤(即使它們在JSON化時被串化)應該駐留在枚舉中,並且應該強類型化(以便可以檢查它在編譯時)。 –