【发布时间】:2021-02-23 17:43:50
【问题描述】:
我刚刚将我的项目从 Swashbuckle 5.6.3 升级到 6.0.7。我没有进行任何代码更改,但现在在尝试使用 Swagger 页面测试 API 时,Swagger 生成的 URL 未使用 https,即使该页面是通过 https 加载的,并且我能找到的所有文档都说它应该推断基于用于加载 Swagger 页面的 URL 的方案。
这里是配置代码:
services.AddSwaggerGen(c => {
c.SwaggerDoc(apiSettings.Version, new OpenApiInfo { Title = apiSettings.Name, Version = apiSettings.Version });
c.CustomSchemaIds(type => type.FullName);
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme {
Description = "JWT Authorization header using the Bearer scheme.",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.ApiKey,
Scheme = "bearer",
Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" }
});
c.AddSecurityRequirement(new OpenApiSecurityRequirement {
{ new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }, new List<string>() }
});
});
和:
app.UseSwagger();
app.UseSwaggerUI(c => {
c.SwaggerEndpoint($"/swagger/{apiSettings.Version}/swagger.json", $"{apiSettings.Name} {apiSettings.Version}");
});
现在是否有新的配置设置来指定方案?
【问题讨论】:
标签: swagger asp.net-core-3.1 swashbuckle.aspnetcore