zoukankan      html  css  js  c++  java
  • ASP.NET Core 3.1使用Swagger

    1、添加Swagger

    直接在NuGet里面搜索Swashbuckle.AspNetCore包进行安装:

    2、添加服务

    在Startup类的ConfigureServices方法里面注入服务:  验证授权和 注释信息

     public void ConfigureServices(IServiceCollection services)
            {
                services.AddSwaggerGen(c =>
                {
                    c.SwaggerDoc("v1", new OpenApiInfo { Title = "sukcore后台Api", Version = "v1" });
                    var security = new Dictionary<string, IEnumerable<string>>
                    { { "sukcore", new string[] { } }};
                    c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme()
                    {
                        Description = "JWT授权token前面需要加上字段Bearer与一个空格,如Bearer token",
                        Name = "Authorization",
                        In = ParameterLocation.Header,
                        Type = SecuritySchemeType.ApiKey,
                        BearerFormat = "JWT",
                        Scheme = "Bearer"
                    });
    
                    c.AddSecurityRequirement(new OpenApiSecurityRequirement
                    {
                        {
                            new OpenApiSecurityScheme
                            {
                                Reference = new OpenApiReference {
                                    Type = ReferenceType.SecurityScheme,
                                    Id = "Bearer"
                                }
                            },
                            new string[] { }
                        }
                    });
    
                    // 获取xml文件名
                    var xmlFile = $"{System.Reflection.Assembly.GetExecutingAssembly().GetName().Name}.xml";
                    // 获取xml文件路径
                    var xmlPath = System.IO.Path.Combine(AppContext.BaseDirectory, xmlFile);
                    // 添加控制器层注释,true表示显示控制器注释
                    c.IncludeXmlComments(xmlPath, true);
                });
    
            }
    public void ConfigureServices(IServiceCollection services)

    3、添加中间件

    在Startup类的Configure方法里面添加Swagger有关的中间件:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // 添加Swagger有关中间件
        app.UseSwagger();
        app.UseSwaggerUI(c =>
        {
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "API Demo v1");
        });
    }

    4、让Swagger能够显示实体模型的注释

    如果你的实体不在asp.net core项目内需要把所使用实体的项目也设置xml文档生成,并在swagger中设置,xml文档为多个;

    详细参考

    https://www.cnblogs.com/dotnet261010/p/12425572.html

  • 相关阅读:
    收音机 德生
    Ubuntu14.04+安卓系统4.3+JDK6编译源码
    springboot2.0+redis实现消息队列+redis做缓存+mysql
    万能命令
    分享个强大的抓包工具
    Vue之Mustache语法
    Vue之vbind基本使用
    Centos7.3环境下安装最新版的Python3.8.4
    Vue之vonce、vhtml、vtext、vpre、vcloak的基本使用
    Centos7.3安装最新版本git
  • 原文地址:https://www.cnblogs.com/su-king/p/12671849.html
Copyright © 2011-2022 走看看