次の方法で共有


ASP0004: ルート ハンドラーでアクションの結果を使用しない

価値
ルール識別子 ASP0004
カテゴリ Usage
修正が破壊的であるか非破壊的であるか Non-breaking

原因

ルート ハンドラー デリゲートは、 IActionResultを実装する値を返します。

ルールの説明

ルート ハンドラー エンドポイントは、MVC の IActionResult インスタンスの実行をサポートしていません。 IActionResult実装されていないIResultを返すと、結果を実行するのではなく、結果インスタンスをシリアル化します。

app.MapGet("/todos/{id}", (int id) => new JsonResult(new Todo { .. }));

違反を修正する方法

この規則の違反を修正するには、エンドポイントのルート ハンドラーが、IResult拡張メソッドを使用してResults型を返すことを確認します。

app.MapGet("/todos/{id}", (int id) => Results.Json(new Todo { .. }));

警告を抑制するタイミング

このルールからの警告を抑制 しないでくださいIActionResult実装されていないIResultを返すと、結果を実行するのではなく、結果インスタンスをシリアル化します。