当前位置: 首页 > 知识库问答 >
问题:

ASP. NET Core 6.0最小API/Swagger标签

壤驷涛
2023-03-14

有什么方法可以更改给定的超文本传输协议方法的标签,用最小的api编写?

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

...

app.MapGet("/todo", () => "Hello world");

这样我就可以在留档中对方法进行逻辑分组,类似于它们在控制器中时的方法。

我尝试了(来自@Modar Na的提示)招摇过市的操作,不幸的是,它没有帮助。

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! };
    });
});

查看我的博客帖子。


共有2个答案

宇文峰
2023-03-14

我认为默认情况下,共享同一路线的所有操作都将分组

但要明确定义组,您需要使用swagger标记,该标记可以像这样使用:

app.MapGet("/todo", [SwaggerOperation(Tags = new[] { "MyTag" })]() => "Hello world");

控制器进近链接

鲁华皓
2023-03-14

怎么样:

app.MapGet("/todo", () => "Hello world").WithTags("ToDo");
 类似资料:
  • 我对目标构建和sdk使用感到困惑 假设我有这个密码 假设我是针对API 19(Kitkat)构建的,我在清单中的目标api是19,我的最小支持api是9 现在,如果一个带有API 9的设备运行上述代码,它会崩溃吗?我希望答案是肯定的,因为它不会理解构建什么。版本代码。KITKAT的意思是。然而,上面的检查首先有什么意义? 请帮我澄清一下 谢谢你

  • 我正在用纯javascript为.NET 6中的最小API发出请求,但是当我在浏览器中打开它时,我收到以下消息: “获取”的访问权限https://localhost:7252/v1/todosCORS策略已阻止“来自源”的“null”:请求的资源上不存在“访问控制允许源”标头。不透明响应满足您的需求,将请求的模式设置为“无cors”以获取禁用cors的资源。 我已经在API中添加了CORS配置,

  • 我正在使用Spring摇摆库v1.0.2 马文: 我可以扫描我的REST API并在Swagger UI上查看它。我什至实现了OAuth,它运行良好。 然而,有一个特性我需要实现。我想隐藏一些REST API。我需要在类级别和方法级别执行此操作。我读到@Api注释中有一个“hidden”属性。我将其设置为“true”,但我仍然可以看到我的类及其所有方法显示在Swagger UI中。 例子: 有人可

  • MSAM是一个API接口文档管理器,MSAM的属性根据swagger-models-1.5.20.jar进行定义并添加了拓展属性 MSAM以项目-接口分组-接口三个单位,项目最终生成的结果理论上兼容Swagger的Swagger UI 不过MSAM也有一个属于自己的Client-UI,可以方便的查看检索接口文档 一些疑问 问:为什么有Swagger了还要这个东西? 答:因为大多前后端分离的公司基本

  • 我只是为自己想了一个简单的场景来玩和Objective-C运行时。 背景: 假设我有一个类方法,在这个方法中,我根据某个条件从一个类创建了一个实例,比如: 对于运行时版本,我会分别替换上面的并在上面的中使用: 两个版本都很好。但我必须导入,尽管如此,所有这些classX。 考虑到这是一个类方法并且只会被调用一次,我想知道是否有一些聪明的方法可以创建一个类而不必导入所有这些标头。 我知道答案很可能是

  • 有什么方法可以配置响应的最大标头大小吗? 我从netty框架中得到以下错误: 显然reactor为此添加了一个API,但我不知道在SpringWebFlux的WebClient中这是如何控制的。我正在使用以下版本 有什么想法吗?