Asp.net
Web API 2 - ApiController.InternalServerError() 返回 HTTP 400 狀態碼
此 Web API 操作返回 HTTP 500(內部伺服器錯誤)狀態程式碼:
public IHttpActionResult Post() { return InternalServerError(); }但此操作返回 HTTP 400(錯誤請求)狀態程式碼:
public IHttpActionResult Post() { return InternalServerError(new Exception()); }我希望這兩個操作都返回 500 狀態程式碼,第二個操作將一些錯誤的詳細資訊放在響應正文中。
我的第一個想法是這是一個錯誤,但我想獲得一些其他輸入。有什麼好的理由為什麼應該在第二個動作中返回 400 而不是 500?
更新:
此方法的文件內容如下:
創建具有指定異常的 System.Web.Http.Results.ExceptionResult(500 內部伺服器錯誤)。
我越來越認為這是一個錯誤。
是的,這是在 Web API 2 發布後修復的已知問題…您可以使用以下解決方法來解決此問題..範例:
return new ResponseMessageResult(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, invalidOpException));以下是之前記錄的問題: