如何为ASP.NET Minimal API指定Swagger接口分组章节?
Minimal API为单个接口指定Swagger分组的方法
要实现类似控制器的Swagger分组效果,直接用Minimal API自带的WithTags扩展方法就能搞定,具体操作如下:
- 在定义每个端点时,链式调用
WithTags并传入分组名称,相同名称的接口会自动归为同一组:
// 注册Swagger相关服务 builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); // 配置端点 // 归为"用户管理"分组的接口 app.MapGet("/api/users/{id}", (int id) => Results.Ok(new { Id = id, Name = "张三" })) .WithTags("用户管理"); app.MapPost("/api/users", (User user) => Results.Created($"/api/users/{user.Id}", user)) .WithTags("用户管理"); // 归为"订单管理"分组的接口 app.MapGet("/api/orders/{id}", (int id) => Results.Ok(new { Id = id, Amount = 199.9m })) .WithTags("订单管理"); public class User { public int Id { get; set; } public string Name { get; set; } = string.Empty; }
- 启动项目打开Swagger UI后,接口会按你指定的标签分组展示,和控制器生成的分组效果完全一致。
如果需要给单个接口绑定多个分组,直接传入多个标签参数即可:
app.MapGet("/api/users/orders/{userId}", (int userId) => Results.Ok(new List<object>())) .WithTags("用户管理", "订单管理");
内容的提问来源于stack exchange,提问作者GeorgeKarlinzer
相关产品推荐
相关产品推荐

