Конфигурация Swagger Springfox загружается до Spring Boot Config
У меня есть несколько микросервисов, и все они зарегистрированы в Eureka (Discovery Client). Недавно я включил Swagger2 (SpringFox) для всех микросервисов.
Как только я включил swagger, мои микросервисы начали регистрироваться в Eureka как сервис "Uknown" и регистрироваться с портом 8080 по умолчанию.
Мой класс приложений идет так.
@SpringBootApplication
@EnableDiscoveryClient
@EnableSwagger2
public class Application {
private static final Logger LOG = LoggerFactory.getLogger(CaseApplication.class);
public static void main(String[] args) {
LOG.debug("Bootstrapping Case Service");
SpringApplication.run(Application.class, args);
}
@Bean
public Docket caseApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("Audit")
.apiInfo(apiInfo())
.select()
.paths(regex("/app.*"))
.build();
}
@Bean
public UiConfiguration uiConfig() {
return new UiConfiguration("validator", UiConfiguration.Constants.NO_SUBMIT_METHODS);
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Application Service")
.description("Application Microservice API Documentation")
.version("1.0")
.build();
}
}
Я попытался переместить мою конфигурацию Eureka из application.yml в bootstrap.yml. Но если я перееду, мой ленточный клиент не сможет получить экземпляр приложения и реестр Eureka.
Любая помощь будет оценена.
1 ответ
Решение
Благодаря Dilip Krishnan
Обновление релиза SpringFox до версии 2.6.1 решило проблему. https://github.com/springfox/springfox/issues/1532