原Spring Boot 配置swagger2没有文档解决方案

Posted zdd-java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原Spring Boot 配置swagger2没有文档解决方案相关的知识,希望对你有一定的参考价值。

@Bean
    public Docket customImplementation(){
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.xx.controller"))
                .build()
                .directModelSubstitute(org.joda.time.LocalDate.class, java.sql.Date.class)
                .directModelSubstitute(org.joda.time.DateTime.class, java.util.Date.class)
                .apiInfo(apiInfo());
    }

   如上图所示,使用basePackage扫描com.xx.controller,启动项目后访问http://127.0.0.1:8088/swagger-ui.html, Swagger UI 能正常加载到浏览器, 问题是只有标题抬头,没有接口文档。

   于是替换如下:

 @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .build();
    }

 将basePackage扫描的条件改为RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class),扫描ApiOperation注解修饰的Controller后重启项目,接口文档正常显示。

以上是关于原Spring Boot 配置swagger2没有文档解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security和Swagger2集成报错

Spring Boot启用Swagger2

Spring boot - 集成Swagger2

Spring Boot中使用Swagger2构建强大的RESTful API文档

spring boot?Swagger2文档构建及单元测试

Spring Boot之Swagger2集成