このような例外フィルタが指定されています。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'を返す必要があります。これにより、500,400,401,403などのHTTPステータスコードを返信することができます –
ありがとうございます:Fermatは誇りに思うでしょう – Jim