ASP.NET Core 最小 API
Minimal API 路由/参数绑定、GET/POST 处理、返回 JSON
ASP.NET Core 最小 API
.NET 6+ 的最小 API——不用 Controller,几行代码构建 REST API。
学完本章你将: 掌握 Minimal API 路由/参数绑定、GET/POST、返回 JSON。
第一个最小 API
csharp
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello, World!");
app.MapGet("/users/{id}", (int id) =>
Results.Ok(new { Id = id, Name = "小明" }));
app.MapPost("/users", (User user) =>
Results.Created($"/users/{user.Id}", user));
app.Run();
record User(int Id, string Name, string Email);
路由与参数绑定
csharp
// 路由参数
app.MapGet("/users/{id:int}", (int id) => { });
// 查询参数
app.MapGet("/search", (string? q, int page = 1) => { });
// 请求体(自动反序列化)
app.MapPost("/users", async (User user, UserService svc) => {
await svc.CreateAsync(user);
return Results.Created($"/users/{user.Id}", user);
});
// 依赖注入——直接在参数中声明
app.MapGet("/config", (IConfiguration config) =>
config["AppName"]);
分组路由
csharp
var users = app.MapGroup("/users");
users.MapGet("/", GetAllUsers);
users.MapGet("/{id}", GetUser);
users.MapPost("/", CreateUser);
users.MapPut("/{id}", UpdateUser);
users.MapDelete("/{id}", DeleteUser);