RoutesList 1.2.0

dotnet add package RoutesList --version 1.2.0
                    
NuGet\Install-Package RoutesList -Version 1.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RoutesList" Version="1.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RoutesList" Version="1.2.0" />
                    
Directory.Packages.props
<PackageReference Include="RoutesList" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RoutesList --version 1.2.0
                    
#r "nuget: RoutesList, 1.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=RoutesList&version=1.2.0
                    
Install RoutesList as a Cake Addin
#tool nuget:?package=RoutesList&version=1.2.0
                    
Install RoutesList as a Cake Tool

<img src="assets/logo.jpg" alt="RoutesList Logo" height="30"/> RoutesList

Codacy Badge Codacy Badge

RoutesList is a handy tool that lets you see all the routes in your .NET application in a clear and concise way. You can easily inspect the methods, URIs, controllers, actions and middleware of your routes, and customize the output to suit your needs. RoutesList works with .NET Core app 3.1, .NET5.0, .NET 6, .NET7.0, .NET 8.0, .NET 9.0, Razor Pages, ASP.NET MVC and Blazor Server projects.

Compatible with:

  • .NET Core 3.1.x, .NET 5.0.x, .NET 6.0.x, .NET 7.0.x, .NET 8.0.x, .NET 9.0.x
  • Razor Pages
  • ASP.NET MVC projects
  • Blazor Server Apps

Features

  • Endpoints with method, uri, controller name, action, full namespace path
  • Endpoints from Razor pages with name, Relative Path, view engine path
  • Endpoints from Blazor components
  • HTML5 output
  • JSON output
  • Custom class for table
  • Link to endpoints in table view
  • Autodetect what application is using MVC, Razor pages, Blazor components

Table list image

Table json list image

Table list image blazor

Table json list image blazor

Installation

From nuget.org

Install-Package RoutesList 

Usage

Just add services.AddRoutesList to service ConfigureService method.

Example:

Startup.cs

//...
public void ConfigureServices(IServiceCollection services)
{
    //...
    services.AddRoutesList();
}

and add to Configure method

Example:

Startup.cs

\\...
public void Configure(
    IApplicationBuilder app,
    IWebHostEnvironment env,
)
{
    \\...
    app.UseRoutesList();
}

Default Endpoint: http://your_application_address/routes

Usage for implicit Using Statements In .NET 6

Example:

Program.cs

using RoutesList.Gen;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

builder.Services.AddRoutesList(); <-- usage

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment()) {
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.UseRoutesList(); <-- usage

app.Run();

public partial class Program { }

Usage for implicit Using Statements In .NET 6/7 and with Blazor component

    public class Program
    {
        public static void Main(string[] args)
        {
            var builder = WebApplication.CreateBuilder(args);

            // Add services to the container.
            builder.Services.AddRazorPages();
            builder.Services.AddServerSideBlazor();
            builder.Services.AddSingleton<WeatherForecastService>();

            builder.Services.AddRoutesList();

            var app = builder.Build();

            // Configure the HTTP request pipeline.
            if (!app.Environment.IsDevelopment()) {
                app.UseExceptionHandler("/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            app.UseHttpsRedirection();

            app.UseStaticFiles();

            app.UseRouting();

            app.MapBlazorHub();
            app.MapFallbackToPage("/_Host");

            app.UseRoutesList(options => {
                options.SetAppAssembly(typeof(Program).Assembly); <-- setup current application webassembly with blazor component
            });

            app.Run();
        }
    }

options for UseRoutesList

In app.UseRoutesList you can pass options

Name Description
Endpoint Endpoint name
Title Title for website
SetTableClasses Add template classes for table
SetAppAssembly Set current application assembly with Blazor components

Example:

Startup.cs

public void Configure(
    IApplicationBuilder app,
    IWebHostEnvironment env,
)
{
    IDictionary<string, string[]> dict = new Dictionary<string, string[]>();
    string[] classes = dict["table"] = new string[2] { "table", "table-striped" };

    app.UseRoutesList(options => {
        options.Endpoint = "your_new_endpoints";
        options.Tittle = "Your new Title for site";
        options.SetTableClasses(classes);
        options.SetAppAssembly(typeof(Program).Assembly)
    });
}

Example .NET6 | .NET7:

Program.cs

    var builder = WebApplication.CreateBuilder(args);

    // Add services to the container.
    builder.Services.AddRazorPages();
    builder.Services.AddControllersWithViews();

    var app = builder.Build();

    // Configure the HTTP request pipeline.
    if (!app.Environment.IsDevelopment())
    {
        app.UseExceptionHandler("/Error");
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseStaticFiles();

    app.UseAuthorization();

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

    app.MapDefaultControllerRoute();
    app.MapRazorPages();

    app.UseRoutesList(options => {
        options.Endpoint = "your_new_endpoints";
        options.Tittle = "Your new Title for site";
        options.SetTableClasses(classes);
        options.SetAppAssembly(typeof(Program).Assembly)
    });

    app.Run();

Contributing

Contributions are always welcome, whether adding/suggesting new features, bug fixes, documenting new file formats, or simply editing grammar. To contribute, create a new GitHub issue describing your problem and add the appropriate Bug/Enhancement tag.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.0 105 4/19/2025
1.1.2.1 6,225 5/20/2024
1.1.2 170 4/30/2024
1.1.1 1,479 8/13/2023
1.1.0 775 5/2/2023
1.0.2 1,097 12/17/2022
1.0.1 856 11/11/2022
1.0.0 807 11/11/2022
0.2.2 1,855 3/27/2022
0.2.1 2,164 12/29/2021
0.2.0 660 12/25/2021
0.1.0 1,406 6/20/2020

Please see https://github.com/JanoPL/Routeslist/releases for release notes