Swagger-ui.html 不显示 api 列表

Sun*_*r G 5 java swagger spring-boot

我使用 spring boot + swagger 2 来记录所有 REST API。当我具有以下项目结构时,我能够列出控制器的所有 api。

在此输入图像描述

如果我将 swaggerconfig.java 移至配置包,那么我将无法列出控制器的所有 api。我得到 在此输入图像描述

这是我的SwaggerConfig.java

@Configuration
@EnableAutoConfiguration
//@ComponentScan(basePackages="com.javainuse.swaggertest")
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket postsApi() {
        return new Docket(DocumentationType.SWAGGER_2).groupName("public-api")
                .apiInfo(apiInfo()).select().paths(postPaths()).build();
    }

    private Predicate<String> postPaths() {
        return or(regex("/api/posts.*"), regex("/api/javainuse.*"));
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("JavaInUse API")
                .description("JavaInUse API reference for developers")
                .termsOfServiceUrl("http://javainuse.com")
                .contact("javainuse@gmail.com").license("JavaInUse License")
                .licenseUrl("javainuse@gmail.com").version("1.0").build();
    }

}
Run Code Online (Sandbox Code Playgroud)

我做错了什么

Sun*_*r G 6

我解决了这个问题。问题是浏览器缓存。我刚刚清除了所有缓存,然后我就可以获取包含所有 api 列表的 swagger-ui.html 了。