欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Asp.NetCore配置SwaggerUI

程序员文章站 2022-03-20 23:25:21
SwaggerUI为前端开发人员提供了可视化的接口文档,省去了开发人员写接口文档的痛苦,也避免了文档更新不及时造成的开发问题,在前后端分离势在必行的年代,SwaggerUI几乎成为了开发人员必备的工具。官方网址:https://swagger.io/创建一个Asp.NetCoreWebApi项目并配置Swagger1.创建一个Asp.NetCoreWebApi项目;2.使用Nuget安装Swagger:项目右键--》管理nuget程序包;搜索Swashbuckle.AspNetCor...

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

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

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

1.创建一个Asp.NetCoreWebApi项目;

2.使用Nuget安装Swagger:

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

搜索Swashbuckle.AspNetCore并安装。

Asp.NetCore配置SwaggerUI

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.配置一下启动浏览器

Asp.NetCore配置SwaggerUI

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

Asp.NetCore配置SwaggerUI

6.配置注释信息:

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

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

<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>$(NoWarn);1591</NoWarn>

在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();
        }

加好之后再次运行项目:

Asp.NetCore配置SwaggerUI

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

本文地址:https://blog.csdn.net/yindi0712/article/details/107464610

相关标签: .net c#