給定這樣的異常過濾器。WebApi2過濾器的默認異常對象
public override void OnException(HttpActionExecutedContext context)
{
var resp = new HttpResponseMessage(HttpStatusCode.InternalServerError)
{
// what must I change here to return an object
// similar to the default exception handler?
Content = new StringContent("THIS IS MY ERROR"),
};
throw new HttpResponseException(resp);
}
例外原因返回給客戶端的JavaScript 是一個普通字符串。
當異常在默認WebApi2
控制器被拋出,默認原因對象返回的包含配置,數據,標題等。我無法找到如何從異常過濾器返回所有這些額外信息的示例。我試圖檢查出的源無濟於事......
$http.get('/mydata')
.catch(function(reason) { ... do stuff with reason })
.then(...);
我需要什麼才能返回相同的默認響應,而不僅僅是一個簡單的字符串來改變。
Content = new ... // what goes here.
我沒有確切的代碼與我,但我已經做了幾次。你需要返回一個'IHttpActionResult'。有了這個,你可以發送你的HTTP狀態代碼500,400,401,403等。 –
非常感謝:費馬會很自豪 – Jim