创建好API之后代码写了注释发现API文档没有注释
解决方法如下:
1.勾选项目属性中的生成XML
2.Program.cs文件增加如下代码
builder.Services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Title = "MES.ApiServer",
Version = "v1",
Description = ""
});
var file = Path.Combine(AppContext.BaseDirectory, "MES.ApiServer.xml"); // xml文档绝对路径
var path = Path.Combine(AppContext.BaseDirectory, file); // xml文档绝对路径
c.IncludeXmlComments(path, true); // true : 显示控制器层注释
c.OrderActionsBy(o => o.RelativePath); // 对action的名称进行排序,如果有多个,就可以看见效果了。
var modelsfile = Path.Combine(AppContext.BaseDirectory, "MES.Models.xml"); // xml文档绝对路径
var modelspath = Path.Combine(AppContext.BaseDirectory, modelsfile); // xml文档绝对路径
c.IncludeXmlComments(modelspath, true); // true : 显示models层注释
});
在增加完这段代码之后发现控制层注释出来了,实体注释还是未显示,需要在对应的实体项目中也勾上生成XML,并且将XML文件放入发布的文件夹下(项目属性中可以选择XML生成的路径,就不用手动放入发布的文件夹下拉。)
最后的效果如下