| 価値 | |
|---|---|
| ルール識別子 | ASP0003 |
| カテゴリ | Usage |
| 修正が破壊的であるか非破壊的であるか | Non-breaking |
原因
ルート ハンドラー デリゲートには、 [Bind] 属性を持つパラメーターが含まれています。
ルールの説明
ルート ハンドラー エンドポイントは、 [FromRoute]、 [FromBody]などの MVC 属性のサブセットのみをサポートします。サポートされていない属性は無視され、予期しないバインド動作が発生します。 たとえば、次のコードではアナライザーの警告が発生します。
app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });
違反を修正する方法
この規則の違反を修正するには、エンドポイントで許可されているモデル バインド属性のいずれかを使用していることを確認します。
app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });
警告を抑制するタイミング
このルールからの警告を抑制 しないでください 。 モデル バインドのセットアップが正しくないと、実行時にパラメーターを解決するときに予期しない動作が発生する可能性があります。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
ASP.NET Core