访问 swagger-ui 页面时如何在服务器列表中预先选择选定的服务器?
我使用 Spring boot 和 Springdoc 生成 swagger-ui。我有以下 bean 将服务器列表添加到 swagger-ui:
@Bean
public OpenApiCustomiser openApiCustomiser() {
return openApi -> openApi
.servers(List.of(
new Server()
.url(localUrl)
.description("localhost"),
new Server()
.url(dsoUrl)
.description("DSO"),
new Server()
.url(iftUrl)
.description("IFT"),
new Server()
.url(prodUrl)
.description("PROD")));
}
在所有环境主机上,它将默认从
localhost
选项启动:
我希望在每个环境主机上 swagger-ui 显示预先选择的正确 URL。是否可以? (在不同环境主机上列表排序不同的解决方案对我来说并不有趣,我希望列表在所有环境上保持一个顺序)。
您可以尝试替换
localUrl
变量并使用 swagger open api 生成的变量。
@Bean
public OpenApiCustomiser openApiCustomiser() {
Server generatedServer = openApi.getServers().get(0);
return openApi -> openApi
.servers(List.of(
new Server()
.url(generatedServer.getUrl())
.description("Generated URL"),
new Server()
.url(dsoUrl)
.description("DSO"),
new Server()
.url(iftUrl)
.description("IFT"),
new Server()
.url(prodUrl)
.description("PROD")));
}
您可以做的另一件事是让您的服务器列表来自您的属性文件。