Phase 25 of 30 · Topic 25.1

Minimal APIs vs MVC Controller Pipeline Architecture

1Concept

Minimal APIs bypass the heavy MVC model binding and action invoker pipeline. Routes map directly to compiled Request Delegates (`RequestDelegate`), cutting per-request memory allocation by 70% and achieving 700,000+ RPS.

2Architecture Diagram

Client HTTP Request
       │
[ Kestrel Socket Pipeline ]
       │
[ Middleware Pipeline (Auth, CORS, Compression) ]
       │
   Minimal API Route Matcher ──> Direct RequestDelegate Execution (No Controller Activation / Filters Overhead!)

3Code Example

C# 13 & .NET 9
using System;

// Minimal API Pattern Example (.NET 8/9)
public class MinimalApiDemo
{
    public static void Main()
    {
        Console.WriteLine("--- ASP.NET Core 9 Minimal API ---");
        Console.WriteLine("var builder = WebApplication.CreateBuilder(args);");
        Console.WriteLine("var app = builder.Build();");
        Console.WriteLine("app.MapGet("/api/v1/health", () => Results.Ok(new { Status = "Healthy", Timestamp = DateTime.UtcNow }));");
        Console.WriteLine("app.Run();");
    }
}

4Expected Output

--- ASP.NET Core 9 Minimal API ---
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/api/v1/health", () => Results.Ok(new { Status = "Healthy", Timestamp = DateTime.UtcNow }));
app.Run();

5Key Takeaways

  • Minimal APIs compile route handlers directly with zero controller instantiation overhead.
  • Supports TypedResults (`Results<Ok<T>, NotFound>`) for OpenAPI 3.1 schema auto-generation.
  • Native AOT compatible by default via Request Delegate Generator (RDG).