如何在Swagger-ui中的服务器列表中预先选择服务器?

问题描述 投票:0回答:1

访问 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。是否可以? (在不同环境主机上列表排序不同的解决方案对我来说并不有趣,我希望列表在所有环境上保持一个顺序)。

java spring-boot swagger swagger-ui springdoc
1个回答
0
投票

您可以尝试替换

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")));
}

您可以做的另一件事是让您的服务器列表来自您的属性文件。

© www.soinside.com 2019 - 2024. All rights reserved.