aspnetコアのRESTサービスでHTTPステータスコードをどのように活用できますか?最終的に何かが間違っていた場合でもメッセージを含めて。例えばRESTfulサービスがメッセージでHTTP応答を返します
:
[HttpGet]
public async Task<MyModel> Get(int id)
{
if (id == 0)
return new HttpResponseMessage(HttpStatusCode.BadRequest);
...
}
このコードは明らかに誤りCannot implicitly convert type 'System.Net.Http.HttpResponseMessage' to 'MyModel'
一つの解決策は、常にMyModel
Status
のような、Success
またはMessage
にHTTP200と余分な性質のカップルを返すようになります返しますが、これはRESTfulであるという目的を破ります。代わりTask<MyModel>
を返す
@EdwinvanVlietを働いた正しいレスポンスヘッダを設定する(200のOKステータスを)世話をしますあなた:https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.Core/ControllerBase.cs#L349 –