まず、カスタムルートを実装するためには、Startup.cs
ファイルのConfigure
メソッド内でルーティングを設定する必要があります。以下に例を示します。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "customRoute",
pattern: "custom/{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" }
);
});
// ...
}
上記の例では、MapControllerRoute
メソッドを使用してカスタムルートを定義しています。pattern
パラメーターには、URLパターンを指定します。この例では、custom/{controller}/{action}/{id?}
というパターンを使用しています。defaults
パラメーターには、コントローラーとアクションの既定値を指定します。
このカスタムルートの例では、/custom
の後にコントローラー名とアクション名を指定することで、該当するコントローラーやアクションにリクエストをマッピングします。id
パラメーターはオプションであり、必要に応じて指定することができます。
さらに、カスタムルートでは正規表現パターンを使用することもできます。以下に例を示します。
endpoints.MapControllerRoute(
name: "customRoute",
pattern: "custom/{controller}/{action}/{id:regex(\\d+)}"
);
上記の例では、id
パラメーターには数字のみを受け付ける正規表現パターンが指定されています。
以上が.NET 6におけるカスタムルートの実装方法の例です。他にも様々な方法がありますので、必要に応じて試してみてください。