問題が発生した場合、ASP.NET Core 1.0のAPIメソッドからHttpStatusコードを返すにはどうすればよいですか?APIメソッドのHttpStatusCodeを返す
メソッドが特定のオブジェクトタイプを返すと想定されている場合、HTTPステータスコードを返そうとすると、自分のオブジェクトをステータスコードに変換できないというエラーが表示されます。
[HttpPost]
public async Task<SomeObject> Post([FromBody] inputData)
{
// I detect an error and want to return BadRequest HttpStatus
if(inputData == null)
return new HttpStatusCode(400);
// All is well, so return the object
return myObject;
}
エラーが権利である、あなたは 'タスクを返す'と '戻るOK(myObjectという)への復帰を変更するために検討すべきである。WebAPIので' –
、あなたが表現(特定の応答コードと例外をスローEnumによって)。例外をバブルアップさせるのではなく、指定したステータスコードを返します。 '新しいHttpResponseException(HttpStatusCode.NotFound);をスローする ' – James
@Jamesあなたの応答をありがとうが、私はHttpResponseExceptionを見つけるのに苦労している。 System.Web.Httpネームスペースにあるように見えますが、ASP.NET Core 1.0ではそれを参照することさえできません。これは、このNuGetパッケージをインストールすることを示唆しています。https://www.nuget.org/packages/Microsoft.AspNet.Mvc.WebApiCompatShim/これはASP.NET Core 1.0でこれを処理する正しい方法ですか? – Sam