• 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();
    }
    加好之后再次运行项目:

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

  • 相关阅读:
    单元测试的必要性
    【C++ STL】Queue
    【C++ STL】Stack
    【C++ STL】容器的选择
    【C++ STL】Map和Multimap
    [Effective JavaScript 笔记]第19条:熟练掌握高阶函数
    [Effective JavaScript 笔记]第18条:理解函数调用、方法调用及构造函数调用之间的不同
    node实现rar格式压缩
    [Effective JavaScript 笔记]第2章:变量作用域--个人总结
    [Effective JavaScript 笔记]第17条:间接调用eval函数优于直接调用
  • 原文地址:https://www.cnblogs.com/yindi0712/p/13447736.html
Copyright © 2020-2023  润新知