Minimal APIs — lightweight API development without controllers.
Basic:
1var builder = WebApplication.CreateBuilder(args);2var app = builder.Build();34app.MapGet("/", () => "Hello World!");5app.MapGet("/users/{id}", (int id) => $"User {id}");6app.Run();
With parameters:
1app.MapGet("/users/{id}", async (int id, IUserService service) =>2{3 var user = await service.GetByIdAsync(id);4 return user is not null5 ? Results.Ok(user)6 : Results.NotFound();7});
POST with body:
1app.MapPost("/users", async (CreateUserDto dto, IUserService service) =>2{3 var user = await service.CreateAsync(dto);4 return Results.Created($"/users/{user.Id}", user);5});
Route groups:
1var api = app.MapGroup("/api");2var users = api.MapGroup("/users");34users.MapGet("/", GetAllUsers);5users.MapGet("/{id}", GetUserById);6users.MapPost("/", CreateUser);
Benefits: