Swashbuckle.AspNetCore中SwaggerUI开启持久化验证

调用接口,刷新页面验证的Token就会丢失,经过网络查找找到如下方法:

修改program.cs文件,配置EnablePersistAuthorization方法:

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(op =>
    {
        op.DocExpansion(Swashbuckle.AspNetCore.SwaggerUI.DocExpansion.None);
        op.DocumentTitle = "XXXX系统";
        var ftype = typeof(ApiVersionInfo);
        foreach (var field in typeof(ApiVersionInfo).GetFields())
        {
            var fvalue = field.GetValue(ftype)?.ToString();
            op.SwaggerEndpoint($"/swagger/{fvalue}/swagger.json", $"版本 {fvalue}");
        }
        op.EnablePersistAuthorization();
    });

}

配置Swagger开启验证:

builder.Services.AddSwaggerGen(op =>
{

    op.AddServer(new OpenApiServer() { Url = "https://localhost:7009", Description = "测试服务" });
    op.AddServer(new OpenApiServer() { Url = "https://127.0.0.1:7009", Description = "正式服务" });

    op.AddSecurityDefinition("Token", new OpenApiSecurityScheme()
    {
        Description = "请输入token",
        Name = "token",
        In = ParameterLocation.Header,
        Type = SecuritySchemeType.ApiKey,
        Scheme = "Token"
    });
    op.AddSecurityRequirement(new OpenApiSecurityRequirement()
    {
        {
        new OpenApiSecurityScheme
        {
          Reference = new OpenApiReference
          {
            Type = ReferenceType.SecurityScheme,
            Id = "Token",
          },Scheme = "Token",Name = "Token",In = ParameterLocation.Header
        },new List<string>()
        }
    });
    var ftype = typeof(ApiVersionInfo);
    foreach (FieldInfo fileld in typeof(ApiVersionInfo).GetFields())
    {
        var fvalue = fileld.GetValue(ftype)?.ToString();
        op.SwaggerDoc(fvalue, new OpenApiInfo
        {
            Version = fvalue,
            Title = "接口平台 API   ",
            Description = $"API版本描述,{fvalue}版本"
        });

    }
    var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    //op.IncludeXmlComments(xmlFilename);
    op.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename), true);

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值