环境
.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 。