1

我已經看到了使用HTTP代碼500爲所有類型的錯誤情況一般錯誤代碼(服務器錯誤,HTTP錯誤,代碼例外,在DB沒有找到預期創紀錄,超時異常等)的人。但是我也看到和聽到的,該代碼500只能從應用服務器(JBoss的在我的情況)發起錯誤的情況下被使用,並且不應用本身即不屬於代碼異常或無效的密碼或DB記錄未找到的案例。所以,當我們應該從一個REST服務方法返回HTTP狀態代碼500?什麼時候應該從REST應用返回HTTP狀態代碼500(內部服務器錯誤)客戶端?

回答

2

如HTTP規範描述:

響應一個當「5XX(服務器錯誤)類的狀態代碼表示該服務器知道它已經犯錯或不能夠執行所請求的方法的不同之處HEAD請求,服務器應該發送包含有關錯誤情況的解釋的表示,以及它是否是臨時或永久的條件。一種用戶代理應該顯示任何包括表示給用戶。這些響應碼適用於任何請求方法「。 - https://greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.6

請注意,從協議的角度來看,無論是應用服務器還是運行的應用服務器內部的都無所謂。

相關問題