REST API錯誤返回良好實踐在從REST API返回錯誤時,我正在尋找有關良好實踐的指導。我正在開發一個新的API,所以我現在可以采取任何方向。我的內容類型目前是XML,但我計劃將來支持JSON。我現在正在添加一些錯誤情況,例如客戶端嘗試添加新資源但已超出其存儲配額。我已經使用HTTP狀態代碼處理某些錯誤情況(401用于身份驗證,403用于授權,404用于普通錯誤請求URI)。我查看了有福的HTTP錯誤代碼,但400-417范圍似乎沒有報告特定于應用程序的錯誤。所以起初我很想用200 OK和特定的XML有效載荷返回我的應用程序錯誤(即付給我們更多,你將得到你需要的存儲空間?。┑俏彝O聛硭伎妓⑶宜坪跏欠试恚?聳聳肩恐怖)。此外,感覺就像我將錯誤響應分成不同的情況,因為有些是http狀態代碼驅動而其他是內容驅動。那么行業建議是什么?好的做法(請解釋原因?。┮约皬目蛻舳藀ov中,REST API中的哪種錯誤處理使客戶端代碼的生活更輕松?
3 回答
侃侃爾雅
TA貢獻1801條經驗 獲得超16個贊
所以起初我很想用200 OK和特定的XML有效載荷返回我的應用程序錯誤(即付給我們更多,你將得到你需要的存儲空間?。┑俏彝O聛硭伎妓⑶宜坪跏欠试恚?聳聳肩恐怖)。
除非請求確實沒有任何問題,否則我不會返回200。從RFC2616,200表示“請求已成功”。
如果超出客戶端的存儲配額(無論出于何種原因),我將返回403(禁止):
服務器理解請求,但拒絕履行請求。授權無效,請求不應重復。如果請求方法不是HEAD并且服務器希望公開為什么請求沒有得到滿足,那么它應該描述實體中拒絕的原因。如果服務器不希望將此信息提供給客戶端,則可以使用狀態代碼404(未找到)。
這告訴客戶端請求是正常的,但它失敗了(200不能做的事情)。這也使您有機會在響應正文中解釋問題(及其解決方案)。
你有什么其他特定的錯誤條件?
添加回答
舉報
0/150
提交
取消
