Swagger如何匹配多个Controller类或者目录

简介: Swagger如何匹配多个Controller类或者目录

提示:方法四或许是你们需要的方法!!!

 

方法一(最普通的方式):匹配一个controller目录下的所有controller类。


1 @Bean

2     public Docket creatRestApi(){

3         returnnew Docket(DocumentationType.SWAGGER_2)

4                .apiInfo(apiInfo())

5                .select()

6                 //关键语句

7                 .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")

8                )

9                .paths(PathSelectors.any())

10                .build();

11     }

 

方法二匹配有指定注解的类。

1 @Bean

2     public Docket creatRestApi(){

3         returnnew Docket(DocumentationType.SWAGGER_2)

4                .apiInfo(apiInfo())

5                .select()

6                 //关键语句

7                 .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)

8                )

9                .paths(PathSelectors.any())

10                .build();

11     }

 

方法三匹配有指定注解的方法。

1@Bean

2     public Docket creatRestApi(){

3         returnnew Docket(DocumentationType.SWAGGER_2)

4                .apiInfo(apiInfo())

5                .select()

6                 //关键语句

7                 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)

8                )

9                .paths(PathSelectors.any())

10                .build();

11     }

 

方法四我觉得是最重要的方法(强烈推荐!!!!):可以匹配多个controller包(多个controller包不在同一级)

           

1 @Bean

2     public Docket creatRestApi(){

3         returnnew Docket(DocumentationType.SWAGGER_2)

4                .apiInfo(apiInfo())

5                .select()       .apis(Predicates.or(RequestHandlerSelectors.basePackage("com.example.demo.controller"),

7                         RequestHandlerSelectors.basePackage("com.example.demo.gp.controller"),

8                         RequestHandlerSelectors.basePackage("com.gp.callback.controller"))

9                )

10                .paths(PathSelectors.any())

11                .build();

12        

13     }

如果上面的Predicates类报红的话,pom文件导入jar包

<!-- guava -->

       <dependency>

           <groupId>com.google.guava</groupId>

           <artifactId>guava</artifactId>

           <version>23.0</version>

       </dependency>

 

总结:相比四种方法,如果项目中只有一个controller包的话,直接使用方法一就可以了,如果项目中有多个controller包,那么我建议使用方法四。

 

 

相关文章
C# .net webapi使用swagger时显示controller注释
C# .net webapi使用swagger时显示controller注释
565 0
C# .net webapi使用swagger时显示controller注释
C# .net webapi使用swagger时显示controller注释
484 0
|
SQL 前端开发 Java
Swagger直接返回MybatisPlus的Page类文档不展开显示问题剖析
Swagger直接返回MybatisPlus的Page类文档不展开显示问题剖析
686 0
Swagger直接返回MybatisPlus的Page类文档不展开显示问题剖析
Swagger2Config类内容编写
本文讲解Swagger2Config类内容编写。
210 0
|
8月前
|
JSON Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的使用
本文详细介绍了Swagger2的使用方法,包括在Spring Boot项目中的配置与应用。重点讲解了Swagger2中常用的注解,如实体类上的`@ApiModel`和`@ApiModelProperty`,Controller类上的`@Api`、`@ApiOperation`以及参数上的`@ApiParam`等。通过示例代码展示了如何为实体类和接口添加注解,并在页面上生成在线接口文档,实现接口测试。最后总结了Swagger的优势及其在项目开发中的重要性,提供了课程源代码下载链接供学习参考。
551 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的使用
|
8月前
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
943 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
8月前
|
Java Maven 微服务
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的 maven 依赖
在项目中使用Swagger2工具时,需导入Maven依赖。尽管官方最高版本为2.8.0,但其展示效果不够理想且稳定性欠佳。实际开发中常用2.2.2版本,因其稳定且界面友好。以下是围绕2.2.2版本的Maven依赖配置,包括`springfox-swagger2`和`springfox-swagger-ui`两个模块。
304 0
|
8月前
|
前端开发 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档—— Swagger 简介
第6课介绍了在Spring Boot中集成Swagger2以展示在线接口文档的方法。随着前后端分离架构的发展,API文档成为连接前端与后端开发的重要纽带。然而,代码更新频繁导致文档难以同步维护,Swagger2解决了这一问题。通过Swagger,在线API文档不仅方便了接口调用方查看和测试,还支持开发者实时测试接口数据。本文使用Swagger 2.2.2版本,讲解如何在Spring Boot项目中导入并配置Swagger2工具,从而高效管理接口文档。
283 0
|
数据可视化 Java API
Spring Boot与Swagger的集成
Spring Boot与Swagger的集成
|
Java API 开发者
在Spring Boot中集成Swagger API文档
在Spring Boot中集成Swagger API文档