zoukankan      html  css  js  c++  java
  • Swashbuckle swagger 4 迁移至Swashbuckle.AspNetCore version 5

    版本号改变 由原来的4.到现在的 5.

        <PackageReference Include="Swashbuckle.AspNetCore" Version="5.2.1" />
    

    options.SwaggerDoc 改变

    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
    });
    

    options.AddSecurityDefinition 改变

    老版本

    c.AddSecurityDefinition("Bearer", new ApiKeyScheme
    {
        Description = "JWT Authorization header using the Bearer scheme. 
    
     Enter 'Bearer' [space] and then your token in the text input below.
    
    Example: "Bearer 12345abcdef"",
        Name = "Authorization",
        In = "header",
        Type = "apiKey"
    });
    
    var security = new Dictionary<string, IEnumerable<string>>
    {
        {"Bearer", new string[] { }},
    };
    
    c.AddSecurityRequirement(security);
    

    新版本

    c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
    {
        Description = "JWT Authorization header using the Bearer scheme. 
    
     Enter 'Bearer' [space] and then your token in the text input below.
    
    Example: "Bearer 12345abcdef"",
        Name = "Authorization",
        In = ParameterLocation.Header,
        Type = SecuritySchemeType.ApiKey,
        Scheme = JwtBearerDefaults.AuthenticationScheme
    });
    
    c.AddSecurityRequirement(new OpenApiSecurityRequirement
    {
        {
            new OpenApiSecurityScheme
            {
                Reference = new OpenApiReference {
                    Type = ReferenceType.SecurityScheme,
                    Id = JwtBearerDefaults.AuthenticationScheme }
            }, new List<string>() }
    });
    

    你可以这么使用

    //First we define the security scheme
    c.AddSecurityDefinition("Bearer", //Name the security scheme
        new OpenApiSecurityScheme{
        Description = "JWT Authorization header using the Bearer scheme.",
        Type = SecuritySchemeType.Http, //We set the scheme type to http since we're using bearer authentication
        Scheme = "bearer" //The name of the HTTP Authorization scheme to be used in the Authorization header. In this case "bearer".
    });
    
    c.AddSecurityRequirement(new OpenApiSecurityRequirement{ 
        {
            new OpenApiSecurityScheme{
                Reference = new OpenApiReference{
                    Id = "Bearer", //The name of the previously defined security scheme.
                    Type = ReferenceType.SecurityScheme
                }
            },new List<string>()
        }
    });
    
  • 相关阅读:
    bzoj 1004 burnside 引理+DP
    bzoj 3453 数论
    HDU 2899 三分
    HDU 2199 二分
    bzoj 3450 DP
    bzoj 1197 DP
    bzoj 2121 DP
    bzoj 2258 splay
    bzoj 1296 DP
    Memcached的限制和使用建议
  • 原文地址:https://www.cnblogs.com/WNpursue/p/12603523.html
Copyright © 2011-2022 走看看