両方を返すWebAPIで使用するのに最適なオプションは何ですかHTTP status codes
とJSON
の結果?
私はいつもIActionResult
を使用していましたが、それは常にWebAPIを備えたWebアプリでした。今回はWeb APIのみです。
次の簡単な方法で、次のようなエラーが発生します。
タイプMicrosoft.AspNetCore.Mvc.OkObjectResultをSystem.Threading.Tasks.TaskMicrosoft.AspNetCore.Mvc.IActionResultに暗黙的に変換することはできません
[HttpGet]
public Task<IActionResult> Get()
{
return Ok();
}
リクエストのニーズに最適なオブジェクトを返します。アクションのメソッド定義については、IActionResult
で定義して、密結合のコンクリーションの代わりに抽象化を柔軟に使用できるようにします。
[HttpGet]
public IActionResult Get() {
return Ok();
}
上記のアクションは、呼び出されたときに200OK応答を返します。
[HttpGet]
public IActionResult Get() {
var model = SomeMethod();
return Ok(model);
}
上記は、コンテンツを含む200OK応答を返します。違いは、JSONに特に制限されていないため、コンテンツネゴシエーションが可能になることです。
[HttpGet]
public IActionResult Get() {
var model = SomeMethod();
return Json(model);
}
上記はJsonコンテンツタイプのみを返します。
このテーマについて読むのに非常に良い記事