Microsoft.AspNetCore.Mvc
名前空間には2つのクラスがあります。
ObjectResult
およびJsonResult
。
どちらも返されたオブジェクトをJSON形式で変換します。
それらの違いは何ですか?それらを使用する目的は何ですか?
JsonResult
は、指定されたオブジェクトをJSONとしてフォーマットするIActionResult
です
ObjectResult
は、コンテンツネゴシエーションが組み込まれているIActionResult
です。
応答ストリームへの書き込みを担当するExecuteResultAsync
内で、フレームワークは使用可能なフォーマッターを調べて、関連するフォーマッターを選択します。
フォーマッタを選択するためのロジックは、ASP.NET Web APIのロジックと似ており、次の優先順位に基づいています。
OkObjectResultクラス
Microsoft.AspNetCore.Mvc.ObjectResult
実行すると、コンテンツネゴシエーションを実行し、エンティティ本体をフォーマットし、Microsoft.AspNetCore.Http.StatusCodes.Status200OK
ネゴシエーションとフォーマットが成功した場合の応答。
参照: