【发布时间】:2022-10-13 01:09:51
【问题描述】:
我习惯于在旧版本的 .NET Core 中使用 swagger。但是,现在使用 .NET Core 6,我无法使用 swagger 中的 Authorize 按钮添加 Authorization 标头。
我怎么能这样做?
我已经将此添加到 Program.cs 中:
builder.Services.AddSwaggerGen(c =>
{
c.SwaggerDoc(API_VERSION, new OpenApiInfo
{
Title = PROJECT_NAME,
Version = API_VERSION
});
var xmlFile = Assembly.GetExecutingAssembly().GetName().Name + XML_EXTENSION;
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
c.AddSecurityDefinition(SECURITY_TYPE, new OpenApiSecurityScheme
{
Description = SECURITY_DESCRIPTION,
In = ParameterLocation.Header,
Name = SECURITY_HEADER_NAME,
Type = SecuritySchemeType.ApiKey,
Scheme = SECURITY_TYPE
});
c.OperationFilter<SecurityRequirementsOperationFilter>();
});
和这个:
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint(SWAGGERFILE_PATH, PROJECT_NAME + API_VERSION);
c.RoutePrefix = string.Empty;
});
【问题讨论】:
标签: .net .net-core swagger swagger-ui