RoutesList 1.1.1

dotnet add package RoutesList --version 1.1.1
NuGet\Install-Package RoutesList -Version 1.1.1
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.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RoutesList --version 1.1.1
#r "nuget: RoutesList, 1.1.1"
#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.
// Install RoutesList as a Cake Addin
#addin nuget:?package=RoutesList&version=1.1.1

// Install RoutesList as a Cake Tool
#tool nuget:?package=RoutesList&version=1.1.1

RoutesList

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, Razor Pages, ASP.NET MVC and Blazor Server projects.

Compatible with:

  • NET Core app 3.1.x, .NET 5.0.x, .NET 6.0.x, .NET 7.0.x
  • Razors Pages
  • ASP.NET projects with MVC
  • Blazor Server App

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 web site
SetTableClasses Add template classes for table
SetAppAssembly Set current application assembly together with blazor component

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 some grammar. for this create new github issue and descript your problem and add issue tag for Bug/enhancement

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 was computed.  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. 
.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.1.1 1,089 8/13/2023
1.1.0 709 5/2/2023
1.0.2 1,036 12/17/2022
1.0.1 793 11/11/2022
1.0.0 717 11/11/2022
0.2.2 1,732 3/27/2022
0.2.1 2,085 12/29/2021
0.2.0 585 12/25/2021
0.1.0 1,273 6/20/2020