我正在尝试在我的项目中使用最小的API。我面临的问题是,传统的控制器是在一种方式, swagger 地产生一个单独的部分,为每个控制器。但是我看不到在Minimal API中添加这种分离的选项。是否可以使用最少的API在Swagger中添加不同的部分?
pb3s4cty1#
你可以使用WithTags扩展方法:OpenAPI支持使用标签对象对operations进行分类。这些标记通常用于在Swagger UI中对操作进行分组。这些标记可以通过在具有所需标记的端点上调用WithTags扩展方法来添加到操作中。
WithTags
app.MapGet("/one", () => "Hello World!").WithTags("xyz"); app.MapGet("/two", () => "Hello World!").WithTags("xyz");
字符串
的数据它与MapGroup非常匹配:MapGroup扩展方法帮助组织具有公共前缀的端点组。它减少了重复代码,并允许通过对RequireAuthorization和WithMetadata等添加端点元数据的方法的单个调用来自定义整个端点组。
MapGroup
RequireAuthorization
WithMetadata
var adminGroup = app.MapGroup("/admin") .WithTags("admin"); adminGroup.MapGet("/adminThing", () => "some"); adminGroup.MapPost("/doAdminThing", () => "some1"); var userGroup = app.MapGroup("/user") .WithTags("user"); userGroup.MapGet("/userThing", () => "some"); userGroup.MapPost("/doUserThing", () => "some1");
型
的
z9gpfhce2#
您可以使用.WithOpenApi()扩展名,例如
.WithOpenApi()
app.MapGet("/", ...) .WithOpenApi(o => {Tags = new List<string>{"Section1"}})
2条答案
按热度按时间pb3s4cty1#
你可以使用
WithTags
扩展方法:OpenAPI支持使用标签对象对operations进行分类。这些标记通常用于在Swagger UI中对操作进行分组。这些标记可以通过在具有所需标记的端点上调用
WithTags
扩展方法来添加到操作中。字符串
的数据
它与
MapGroup
非常匹配:MapGroup
扩展方法帮助组织具有公共前缀的端点组。它减少了重复代码,并允许通过对RequireAuthorization
和WithMetadata
等添加端点元数据的方法的单个调用来自定义整个端点组。型
的
z9gpfhce2#
您可以使用
.WithOpenApi()
扩展名,例如字符串