Intern Day153 - Swagger UI显示接口数目和项目中对应不上解决办法
问题概述:想在Swagger UI中调项目中的A接口时,发现不存在。
解决办法:其实是因为别人对A接口进行了分组,我们需要在Swagger UI右上角中的select a definition中进行分组选择即可。
问题原因:
- 我们会发现A接口代码对应的文件最上方有这两行代码:
[Route("/api/xx/xxx/xxxx")] 接口路由
[ApiExplorerSettings(GroupName = "b")] 接口分组,分给b组
- 针对分组后的接口,我们需要到对应的分组下进行查看。ASP.NET Core是如何将分组显示在Swagger UI中呢,其实有一个文件叫做
Startup.Swagger.cs
,在这里面我们对Swagger做了相关配置,具体的分组配置代码部分如下:
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/api/项目名1/swagger/分组名1/swagger.json", "显示在Swagger上的名字选项1");
c.SwaggerEndpoint("/api/项目名1/swagger/分组名2/swagger.json", "显示在Swagger上的名字选项2");
c.SwaggerEndpoint("/api/项目名2/swagger/分组名3/swagger.json", "显示在Swagger上的名字选项3");
}