Swagger2没有发布文档是UI格式

时间:2017-10-24 18:01:51

标签: spring swagger spring-rest springfox

我有RESTful我在春季启动时开发的网络服务。我已使用swagger2构建工具将Gradle集成到我的应用程序中。

testCompile('io.springfox:springfox-swagger2:2.6.1')
testCompile('io.springfox:springfox-swagger-ui:2.6.1')

我以下列方式编写了swagger2的配置文件

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select().apis(RequestHandlerSelectors.basePackage("com.example.restdemo.web"))
                .paths(PathSelectors.any())
                .build();
    }
}

现在,当我尝试访问http://localhost:8080/v2/api-docs时,我收到JSON字符串。但是当我尝试访问http://localhost:8080/swagger-ui.html我没有获得Swagger UI视图时,我收到了406错误。

2 个答案:

答案 0 :(得分:0)

您可以尝试以下Swagger配置吗? basePackage只是其余API层的入口点。您可以在程序中对其进行硬编码。

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    UiConfiguration uiConfig() {
        return new UiConfiguration("validatorUrl", "list", "alpha", "schema",
                UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS, false, true, 60000L);
    }

}

答案 1 :(得分:0)

你尝试过这样的吗? http://localhost:8080/swagger-ui.html#!/test-controller/

此处Controller类名称为TestController

另外,替换

。选择()。的API(RequestHandlerSelectors.basePackage( “com.example.restdemo.web”))

.select()

如下......

@Bean
public Docket api() {
    return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.any())
            .paths(PathSelectors.any())
            .build();
}