Asp.NetCore配置SwaggerUI

SwaggerUI为前端开发人员提供了可视化的接口文档,省去了开发人员写接口文档的痛苦,也避免了文档更新不及时造成的开发问题,在前后端分离势在必行的年代,SwaggerUI几乎成为了开发人员必备的工具。

官方网址:https://swagger.io/

创建一个Asp.NetCoreWebApi项目并配置Swagger
1.创建一个Asp.NetCoreWebApi项目;

2.使用Nuget安装Swagger:

项目右键--》管理nuget程序包;

搜索Swashbuckle.AspNetCore并安装。

3.在startup.cs中注册swagger服务,并配置xml文件:

public void ConfigureServices(IServiceCollection services)
{
// 注册Swagger服务
services.AddSwaggerGen(c =>
{
// 添加文档信息
c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "Mallsys.AppletApi.Core", Version = "v1" });
});
services.AddControllers();
}
4.在startup.cs中配置swagger及swaggerui中间件

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}

        app.UseHttpsRedirection();

        app.UseRouting();

        // 启用Swagger中间件
        app.UseSwagger();

        // 配置SwaggerUI
        app.UseSwaggerUI(c =>
        {
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "Mallsys.AppletApi.Core");
            c.RoutePrefix = string.Empty;
        });
        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }

5.配置一下启动浏览器

运行项目,我们可以看见swaggerui已经生效了

6.配置注释信息:

为了方便前端人员使用,需要将代码的注释显示出来,首先需要修改项目文件:

右键项目---》编辑项目文件,在PropertyGroup节点下新增配置节点:

true
$(NoWarn);1591

在startup--》ConfigureServices之前注册服务的方法中加入xml配置

public void ConfigureServices(IServiceCollection services)
{
// 注册Swagger服务
services.AddSwaggerGen(c =>
{
// 添加文档信息
c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "Mallsys.AppletApi.Core", Version = "v1" });
// 使用反射获取xml文件。并构造出文件的路径
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
// 启用xml注释. 该方法第二个参数启用控制器的注释,默认为false.
c.IncludeXmlComments(xmlPath, true);
});
services.AddControllers();
}
加好之后再次运行项目:

我们看到注释已经显示出来了。

原文地址:https://www.cnblogs.com/yindi0712/p/13447736.html