我正在运行 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
为 SwaggerUI 配置的 bean:
@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();
}
}
这一切都会导致以下问题:我不能为配置服务器添加前缀,我希望 SwaggerUI url 映射到标准。有没有可能告诉配置服务器它应该排除/swagger*
路径?