【ASP.NET Core Web】アクションで任意のステータスコードとJSONを返す
2024-3-13 | ASP.NET Core Web
.NET 8のASP.NET Core Webのアクションで任意のステータスコードとJSONを返したい!
概要
今回の記事では、.NET 8のASP.NET Core Webのアクションで任意のステータスコードとJSONを返す手順を掲載する。
仕様書
環境
- .NET 8.0
手順書
ASP.NET Core Webのアクションで任意のステータスコードとJSONを返す方法はいくつかあるんだけども、この記事では「JsonResult
型にステータスコードを追加する方法」と「IActionResult
型を使う方法」の2パターンを紹介する。
JsonResult
型にステータスコードを追加する方法
namespace ReturnStatusCodeSample
{
public class SampleController : Controller
{
public IActionResult Get()
{
return new JsonResult(
new { message = "Bad Request" }
){
StatusCode = 400
};
}
}
}
new
が入れ子になっててちょっとなんか…。
IActionResult
型を使う方法
namespace ReturnStatusCodeSample
{
public class SampleController : Controller
{
public IActionResult Get()
{
return StatusCode(
200,
new { message: "OK" }
}
}
}
戻り値のところはスッキリしてて良い感じ。IActionResult
型で宣言してるがちょっと…。
まとめ(感想文)
後者の方法の方がコードがスマートな感じがする。が、JsonResult
型を指定した方がアクションの定義がキレイな気もする。んがががが。