前戏我就不做了,我喜欢直接点
我们知道swagger的注释依赖于xml,但有时候在发布后没xml,这不是难为我吗?我还得给前端一个字段一个字段解释,查资料后,找到解决方案
1.可能你查询的实体或者返回的实体不在webapi那个库,因此你需要你涉及到的实体库都开启生成xml文档
2.在你需要开启生成xml文件的类库的.csproj中加 GenerateDocumentationFile
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
3.去starup.cs注入
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
var xmlFile = AppContext.BaseDirectory;
c.IncludeXmlComments(Path.Combine(xmlFile, "XXAPI.xml"));
c.IncludeXmlComments(Path.Combine(xmlFile, "XXAPI.Models.xml"));
c.IncludeXmlComments(Path.Combine(xmlFile, "XXAPI.Service.xml"));
});
运行完成