fix: 兼容swagger旧路径并修复测试构建
This commit is contained in:
@@ -52,8 +52,10 @@ public static class SwaggerExtensions
|
||||
var provider = app.ApplicationServices.GetRequiredService<IApiVersionDescriptionProvider>();
|
||||
var settings = app.ApplicationServices.GetRequiredService<SwaggerDocumentSettings>();
|
||||
const string routePrefix = "api/docs";
|
||||
// 1. 注册 Swagger 中间件
|
||||
const string legacyRoutePrefix = "swagger";
|
||||
// 1. 注册 Swagger 中间件(新旧入口同时支持)
|
||||
app.UseSwagger(options => { options.RouteTemplate = $"{routePrefix}/{{documentName}}/swagger.json"; });
|
||||
app.UseSwagger(options => { options.RouteTemplate = $"{legacyRoutePrefix}/{{documentName}}/swagger.json"; });
|
||||
app.UseSwaggerUI(options =>
|
||||
{
|
||||
options.RoutePrefix = routePrefix;
|
||||
@@ -67,6 +69,19 @@ public static class SwaggerExtensions
|
||||
// 2. 显示请求耗时
|
||||
options.DisplayRequestDuration();
|
||||
});
|
||||
app.UseSwaggerUI(options =>
|
||||
{
|
||||
options.RoutePrefix = legacyRoutePrefix;
|
||||
foreach (var description in provider.ApiVersionDescriptions)
|
||||
{
|
||||
// 3. 使用相对路径适配反向代理/网关前缀
|
||||
options.SwaggerEndpoint(
|
||||
$"./{description.GroupName}/swagger.json",
|
||||
$"{settings.Title} {description.ApiVersion}");
|
||||
}
|
||||
// 2. 显示请求耗时
|
||||
options.DisplayRequestDuration();
|
||||
});
|
||||
return app;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user