1. ホーム
  2. c#

[解決済み] Ok()メソッドとnew ObjectResult()に違いはあるのでしょうか?

2022-02-26 14:38:01

質問

シナリオ: 標準の REST API / GET メソッドを .net コアコントローラで実装します。

ドキュメント には、OkObjectResult はステータス 200 の ObjectResult であると記載されています。これは Ok(myResult) メソッドはControllerBaseから継承しています。これは便宜的なメソッドだと思われます。

しかし チュートリアル はこの方法を使用せず、代わりに new ObjectResult(myResult) で、デフォルトはステータス200になります。

この2つのアプローチに違いはあるのでしょうか?

どのように解決するのですか?

技術的 この2つのアプローチに違いはありません。

のコードを見るなら OkObjectResult とすると OkObjectResultObjectResult のデフォルトである200のステータスコードを設定するものである。 ObjectResult はすでに

私にとっての唯一の違いは コードでの読みやすさ と、あなた自身やあなたのチームの好みです。ネーミングと、どのような意図を強調したいかがすべてです。

 return Ok(myResult);                  // gives emphasis on status, my personal favorite

 return new OkObjectResult(myResult);  // for me a little bit verbose and the same
                                       // effect as Ok; but states we return an Object

 return new ObjectResult(myResult);    // gives emphasis of the content that is returned