Swagger Springfox 配置在 Spring 引导配置之前加载

Swagger Springfox configuration loads before Spring Boot Config

我有几个微服务,它们都在 Eureka (Discovery Client) 中注册。最近我为所有微服务启用了 Swagger2 (SpringFox)。

我一启用 swagger,我的微服务就开始向 Eureka 注册为 "Uknown" 服务,并使用默认的 8080 端口注册。

我的申请 Class 是这样的。

@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 注册表。

任何帮助将不胜感激。

感谢https://whosebug.com/users/19219/dilip-krishnan

将 SpringFox 版本升级到 2.6.1-snapshot 解决了这个问题。 https://github.com/springfox/springfox/issues/1532