環境
.Net Core 3.1 + Swashbuckle.AspNetCore 6.14
項目信息
如圖,一個 Web API,其余為類庫
開發步驟
1. 輸出 Web API XML
D:\wikifx\GitLabCode\wikifx-ad-api\Advertisement\core\Wiki.UserBehaviorStatistics.API\Wiki.UserBehaviorStatistics.Api\Wiki.UserBehaviorStatistics.Api.xml : Web API XML 輸出路徑,記住其文件路徑
2. 其余項目 XML
如圖,修改 model 項目屬性,XML 路徑修改為與 Web API XML 路徑一致。依次操作其余類庫
3. 注冊描述
在 Web API 項目 startup.cs 文件內注冊描述信息,即是對 XML 文件進行添加
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" });
//添加讀取注釋服務 nuget Microsoft.Extensions.PlatformAbstractions
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, "Wiki.UserBehaviorStatistics.Api.xml");//此處為生成xml文檔
var xmlPath1 = Path.Combine(basePath, "Cngold.FXSky.Model.xml");//此處為生成xml文檔
c.IncludeXmlComments(xmlPath);
c.IncludeXmlComments(xmlPath1);
});
4. 訪問項目
注意
項目生成的 XML 需要,將屬性改為始終復制,否則 swagger 打開,會報 500 。