1. 程式人生 > 其它 >Intern Day153 - Swagger UI顯示介面數目和專案中對應不上解決辦法

Intern Day153 - Swagger UI顯示介面數目和專案中對應不上解決辦法

問題概述:想在Swagger UI中調專案中的A介面時,發現不存在。

解決辦法:其實是因為別人對A介面進行了分組,我們需要在Swagger UI右上角中的select a definition中進行分組選擇即可。

問題原因:

  1. 我們會發現A介面程式碼對應的檔案最上方有這兩行程式碼:
[Route("/api/xx/xxx/xxxx")]  介面路由
[ApiExplorerSettings(GroupName = "b")]  介面分組,分給b組
  1. 針對分組後的介面,我們需要到對應的分組下進行檢視。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");
}