It is pretty simple to list all routes configured in your ASP.NET Core application:
- Add
Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider
parameter to yourStartup.Configure
method. - If you have not done so already also add the
ILogger<Startup>
parameter toStartup.Configure
as well - Loop through all action descriptor items in the
IActionDescriptorCollectionProvider
and display the log information
Here is an example Startup method:
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILogger log, Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider actionProvider)
{
log.Log(LogLevel.Information, "Configuring application ...");
/// .... configuration
app.UseMvc();
log.Log(LogLevel.Information, "Available routes:");
var routes = actionProvider.ActionDescriptors.Items.Where(x => x.AttributeRouteInfo != null);
foreach(var route in routes)
{
log.Log(LogLevel.Debug, $"{route.AttributeRouteInfo.Template}");
}
log.Log(LogLevel.Information, "... finished configuring application");
}
Hey is there a way to do this in .net core 6, being that the startup.cs file is gone. I’m pretty new starting out while .Net is introducing some newer things from other older tutorials. Thanks