asp.net-core - ASP.NET Core 6.0 Minimal API / Swagger 标签
问题描述
有什么方法可以更改http
用最少 api 编写的给定方法的标签吗?
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
...
app.MapGet("/todo", () => "Hello world");
这样我就可以对文档中的方法进行逻辑分组,类似于它们在控制器中的方法。
已编辑
我试过了(来自@Modar Na 的提示)SwaggerOperation
,不幸的是它没有帮助。
app.MapGet("/todo", [SwaggerOperation(Tags = new[] { "ToDo" })]() => "Hello world");
app.MapPost("/todo", [SwaggerOperation(Tags = new[] { "ToDo" })]() => "Hello world");
app.MapGet("/projects", [SwaggerOperation(Tags = new[] { "Projects" })]() => "Hello world");
app.MapPost("/projects", [SwaggerOperation(Tags = new[] { "Projects" })]() => "Hello world");
更新
作为一种解决方法,我TagActionsBy
在配置 swagger 生成器时使用了该方法。
builder.Services.AddSwaggerGen(c =>
{
c.TagActionsBy(d =>
{
return new List<string>() { d.ActionDescriptor.DisplayName! };
});
});
请参阅我的博文。
解决方案
我认为默认情况下,所有共享同一路由的操作都会被分组
但是为了明确定义组,您需要使用swagger 标签,它可以像这样使用:
app.MapGet("/todo", [SwaggerOperation(Tags = new[] { "MyTag" })]() => "Hello world");
推荐阅读
- c - 为什么我在 400 万时初始化为零的这个变量?
- android - Single observable 是否提供 API 来设置计时器和间隔?
- python - Tkinter 由于标签长度而移动 GUI
- microsoft-translator - 自定义翻译器 - 训练后的模型调整
- php - Laravel 7 - php artisan vendor:发布未正确列出
- javascript - 当 (this) 已绑定到对象时,如何访问函数范围内的目标 DOM 元素?
- javascript - Redux:部分重新渲染如何工作?
- asp.net-mvc - Postgres + EF Core 的不区分大小写的唯一约束
- python - 如何像在 FSM 中一样为 tkinter 中的箭头分配权重?
- python - PermissionError:[Errno 13] python jupyter notebook 中的权限被拒绝