ASP0014: 最上位レベルのルート登録の使用を提案する

Value
ルール ID ASP0014
[カテゴリ] 使用法
修正が中断ありか中断なしか なし

原因

ルートは、最小限の API アプリケーションの最上位レベルで直接登録できます。

規則の説明

ルートは最小限の API アプリケーションの最上位レベルで直接登録でき、UseEndpoints 呼び出し内で入れ子にする必要はありません。

var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

app.UseEndpoints(endpoints =>
{
    endpoints.MapGet("/", () => "Hello World!");
});

app.Run();

違反の修正方法

このルールの違反を修正するには、エンドポイントを WebApplication に直接登録します。

var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

どのようなときに警告を抑制するか

ミドルウェアの順序を整理するための戦略としてマッピングを行わずにターゲット UseEndpoints 呼び出しを呼び出した場合、このルールによる警告を抑制できます。

var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

#pragma warning disable ASP0014
app.UseEndpoints(e => {});
#pragma warning restore ASP0014

app.Run();