【发布时间】:2021-09-28 05:13:42
【问题描述】:
有没有什么方法可以更改使用最少 api 编写的给定 http 方法的标签?
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");
更新
作为一种解决方法,我在配置 swagger 生成器时使用了TagActionsBy 方法。
builder.Services.AddSwaggerGen(c =>
{
c.TagActionsBy(d =>
{
return new List<string>() { d.ActionDescriptor.DisplayName! };
});
});
见我的blog post。
【问题讨论】:
标签: asp.net-core swagger swashbuckle.aspnetcore