ASP.NET Core(.NET 6)の複数のモデルを同時にJSON形式にしてレスポンスする方法を解説します。
複数のモデルクラスをJSONで返却する
ASP.NET CoreのWebAPIでは、単一のモデルクラスをJSONとして返却するアクションメソッドを実装するのが一般的です。
単一のモデルクラスにJSONとして返したいプロパティをいくつか用意しておいて、それを返却するというような流れです。
一方で、複数のモデルクラスをJSONとして返却したいという場合もありますので、その場合のアクションメソッドの実装例を以下で紹介したいと思います。
複数のモデルクラスをJSONで返却するアクションメソッド 実装例
以下が複数のモデルクラスをJSONで返却するアクションメソッドの実装例になります。
[HttpGet]
public ActionResult GetMultipleModel()
{
// 各モデルのインスタンス変数を作成
Model1 m1 = new Model1();
Model2 m2 = new Model2();
// varクラスの変数に、各モデルの変数を代入
var res = new { Model1 = m1, Model2 = m2 };
return Ok(res);
}
上記のアクションメソッドの返却値となるJSONは以下のような内容になります。
{
"model1":{
...
},
"model2":{
...
}
}