Files
IM_NEW/IM.InitCommon/SwaggerGenExtension.cs
2026-05-09 17:06:30 +08:00

43 lines
1.4 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using Microsoft.OpenApi.Models;
namespace IM.InitCommon
{
public static class SwaggerGenExtension
{
public static IServiceCollection AddSwaggerGenOpt(this IServiceCollection services)
{
return services.AddSwaggerGen(options =>
{
// 1. 定义安全定义 (Security Definition)
options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Name = "Authorization",
Type = SecuritySchemeType.Http,
Scheme = "bearer",
BearerFormat = "JWT",
In = ParameterLocation.Header,
Description = "请输入 JWT Token,不需要输入 'Bearer ' 前缀,系统会自动添加。"
});
// 2. 开启全局安全要求 (Security Requirement)
// 这样 Swagger UI 所有的接口都会出现锁头图标
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
}
},
new string[] {}
}
});
});
}
}
}