← ClaudeAtlas

aspnet-minimal-apilisted

ASP.NET Core Minimal API endpoints, route groups, filters, and typed results. Covers modern .NET 8+ endpoint patterns. USE WHEN: user mentions "Minimal API", "MapGet", "MapPost", "route groups", "endpoint filters", ".NET minimal", "lambda endpoints" DO NOT USE FOR: Controller-based APIs (use `aspnet-core`), Express.js (use `express`), FastAPI (use `fastapi`)
claude-dev-suite/claude-dev-suite · ★ 33 · API & Backend · score 80
Install: claude install-skill claude-dev-suite/claude-dev-suite
# ASP.NET Minimal API - Quick Reference > **Deep Knowledge**: Use `mcp__documentation__fetch_docs` with technology: `aspnet-core`, topic: `minimal-api` for comprehensive documentation. ## Basic Endpoints ```csharp var app = WebApplication.Create(args); app.MapGet("/api/users", async (IUserService service) => Results.Ok(await service.GetAllAsync())); app.MapGet("/api/users/{id:int}", async (int id, IUserService service) => await service.GetByIdAsync(id) is { } user ? Results.Ok(user) : Results.NotFound()); app.MapPost("/api/users", async (CreateUserRequest request, IUserService service) => { var user = await service.CreateAsync(request); return Results.Created($"/api/users/{user.Id}", user); }); app.MapPut("/api/users/{id:int}", async (int id, UpdateUserRequest request, IUserService service) => await service.UpdateAsync(id, request) ? Results.NoContent() : Results.NotFound()); app.MapDelete("/api/users/{id:int}", async (int id, IUserService service) => { await service.DeleteAsync(id); return Results.NoContent(); }); app.Run(); ``` ## Route Groups ```csharp var users = app.MapGroup("/api/users") .WithTags("Users") .RequireAuthorization(); users.MapGet("/", GetAll); users.MapGet("/{id:int}", GetById); users.MapPost("/", Create); // Nested groups var admin = app.MapGroup("/api/admin") .RequireAuthorization("AdminOnly"); admin.MapGroup("/users").MapGet("/", GetAllUsers); ``` ## Endpoint Filters ```csharp // Va