A lightweight, dependency-free helper for auto-discovering and mapping Minimal API endpoints across your assemblies.
FluentMinimalApiMapper was inspired by Carter's routing concept but focuses purely on endpoint mapping, ideal for * modular monolithic* and clean architecture solutions.
- 🚀 Auto-discovers all
IEndpointimplementations via reflection. - 🧩 Works seamlessly across multiple assemblies or modules.
- 🔄 Zero configuration, minimal boilerplate.
- ⚙️ Optional assembly scanning (defaults to EntryAssembly).
dotnet add package Pandatech.FluentMinimalApiMapperusing FluentMinimalApiMapper;
using Microsoft.AspNetCore.Routing;
public class MyEndpoint : IEndpoint
{
public void AddRoutes(IEndpointRouteBuilder app)
{
app.MapGet("/hello", () => "Hello, world!");
}
}using FluentMinimalApiMapper;
var builder = WebApplication.CreateBuilder(args);
builder.AddMinimalApis();
var app = builder.Build();
app.MapMinimalApis();
app.Run();using FluentMinimalApiMapper;
var builder = WebApplication.CreateBuilder(args);
builder.AddMinimalApis(typeof(MyEndpoint).Assembly, typeof(OtherModuleEndpoint).Assembly);
var app = builder.Build();
app.MapMinimalApis();
app.Run();You can pass a RouteGroupBuilder to group endpoints:
var generalApiPolicy = app.MapGroup("").DisableAntiForgery();
app.MapMinimalApis(generalApiPolicy);- Reflection happens once at startup—negligible in most cases.
- Uses
TryAddEnumerableto prevent duplicate registrations. - Works seamlessly with dependency injection and test hosts.
Licensed under the MIT License.
Copyright Pandatech