.Net Core 3.1 WebApi使用Swagger生成Api文档

时间:2022-01-01 16:45:18

用swagger生成Api文档

1.安装Swashbuckle.AspNetCore

  右键单击“解决方案资源管理器” > “管理 NuGet 包”中的项目

  .Net Core 3.1 WebApi使用Swagger生成Api文档

2.添加Swagger生成器

将Swagger生成器添加到 Startup.ConfigureServices 方法中的服务集合中

            services.AddSwaggerGen(s =>
{
s.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
{
Version = "v1",
Title = ".NetCoreSwagger",
Description = "个人测试",
Contact = new Microsoft.OpenApi.Models.OpenApiContact
{
Name = "huahua"
}
});
var xml_path = Path.Combine(AppContext.BaseDirectory, "NetCoreWebApi.xml");
var xml_path_model = Path.Combine(AppContext.BaseDirectory, "NetCoreWebApi.Model.xml");
s.IncludeXmlComments(xml_path, true);
s.IncludeXmlComments(xml_path_model);
});

.Net Core 3.1 WebApi使用Swagger生成Api文档

3.配置Swagger中间件

在 Startup.Configure 方法中,启用中间件为生成的 JSON 文档和 Swagger UI 提供服务

            app.UseSwagger();
app.UseSwaggerUI(s =>
{
s.SwaggerEndpoint("/swagger/v1/swagger.json", "My API");
s.RoutePrefix = string.Empty;
});

.Net Core 3.1 WebApi使用Swagger生成Api文档

4.为接口文档添加注释

  右键单击“解决方案资源管理器”中的项目,然后选择"属性",查看“生成”选项卡的“输出”部分下的“XML 文档文件”框

.Net Core 3.1 WebApi使用Swagger生成Api文档

5.在Startup中添加下面的代码

 //NetCoreWebApi.xml项目生成XML文档的后缀名,具体以自己项目为主
var xmlPath = Path.Combine(AppContext.BaseDirectory, "NetCoreWebApi.xml");
//第二个参数为true的话则控制器上的注释也会显示(默认false)
c.IncludeXmlComments(xmlPath,true);

.Net Core 3.1 WebApi使用Swagger生成Api文档

6.运行项目,添加的注释就可以看到了

.Net Core 3.1 WebApi使用Swagger生成Api文档