Сервер SpringCloud Config: конфликт сопоставления путей с SwaggerUI - PullRequest
0 голосов
/ 18 октября 2018

Я использую сервер конфигурации SpringBoot (с бэкэндом Vault) и попытался добавить к нему Springfox SwaggerUI.Но так как мне не нужен префикс (spring.cloud.config.server.prefix) для моего сервера конфигурации, отображение пути между сервером конфигурации и SwaggerUI приводит к конфликту.

Все мои клиенты запрашивают сервер конфигурации по следующей схеме:

{config-server-host}/{application-name}/{profile}

Например:

{config-server-host}/test-app-one/dev
{config-server-host}/test-app-two/prod

Но мой путь SwaggerUI отображается на:

{config-server-host}/swagger-ui.html

Как следствие, сервер конфигурации жалуется, что приложение "swagger"-ui "не найден или профиль не указан.

Это конфигурация моего Docket bean-компонента для SwaggerUI:

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .paths(not(regex("/error.*")))
                .paths(any())
                .build()
                .pathMapping("/");
    }

    private ApiInfo apiInfo() {
        Contact contact = new Contact({secret}, {secret}, {secret});
        return new ApiInfoBuilder().title({secret})
                                   .description({secret})
                                   .version({secret})
                                   .contact({secret})
                                   .build();
    }
}

Все это приводит к следующему вопросу:У меня не может быть префикса для сервера конфигурации, и я хочу, чтобы URL-адрес SwaggerUI соответствовал стандарту.Есть ли возможность сообщить серверу конфигурации, что он должен исключить пути /swagger*?

...