Swagger 默认只有一个 default 分组选项,如果没有设置,所有的接口都会显示在 default  分组下,如果功能模块和接口数量一多,就会显得有些凌乱,不方便查找和使用。

为了解决这个问题,今天上午花了些时间查找 Swagger 的接口分组设置办法,由于一开始思路和关键字设置不准备等原因,一时没找到正确满意的解决方案,直至看到大佬博客《swagger多个分组代码展示》 才得以解决,特此记录下,以备不时之需。

解决方法:

首先找到你的 swagger 配置类(可以通过搜索 swagger 、@EnableSwagger2 等关键字),然后在里面配置相应的分组代码,代码如下:

    /*** 设置基础分组(包含所有注解标注过的接口)* @return*/@Beanpublic Docket docketBase() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.demo.he")) .paths(PathSelectors.any())     //正则匹配请求路径,并分配至当前分组,当前所有接口.build().groupName("所有路径分组")      //分组名称.globalOperationParameters(setHeaderToken())
//                .ignoredParameterTypes(Demo.class);}/*** 设置demo2分组 - 匹配指定请求路径* @return*/@Beanpublic Docket docketDemo2() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.demo.he")).paths(PathSelectors.ant("/demo2/demo/**")) //正则匹配请求路径,并分配至当前分组.build().groupName("demo2分组")   //分组名称.globalOperationParameters(setHeaderToken())
//                .ignoredParameterTypes(Demo.class);}

代码配置完成后,重新启动项目,在 Swagger UI 主页面右上角下拉框中,即可看到分组,通过更改下拉框中的值,即可筛选出对应模块的接口。

上述配置代码和图片所示,当前设置了两个分组(所有路径分组和demo2分组),代码中通过修改  .paths(PathSelectors.…) 中的内容,达到设置接口分组归属的目的。

而且,通过上述代码和图片可知,Swagger 中的接口是可以根据条件被重复分组的,即:如果接口 SWAGGER2测试 被 dockBase() 方法设置过滤关联到 所有路径分组 中,还能被 docketDemo2() 方法设置过滤关联到分组 demo2分组 中。

以上仅仅为接口分组的一种分组方法,通过设置 .paths()  接口请求路径的方式,还有其他的方法可以设置,比如根据 basePackage("包路径")  基础路径不同进行分组,还有 .paths(PathSelectors.regex()) 等等进行分组。

以上为解决 Swagger 接口分组问题的一种解决方法,大体的解决方向是这样,具体的分组条件,可以根据自身项目实际进行最优选择尝试。

Swagger 接口分组相关推荐

  1. swagger接口文档分组

    swagger接口文档分组 解析问题 因项目中的接口越来越多,使用swagger调试接口的时候,因接口太杂太乱,不太容易找到想要调试的接口,所以研究了一下swagger分组的方法 但是分组是需要配置多 ...

  2. 基于 abp vNext 和 .NET Core 开发博客项目 - 再说Swagger,分组、描述、小绿锁

    基于 abp vNext 和 .NET Core 开发博客项目 - 再说Swagger,分组.描述.小绿锁 https://github.com/Meowv/Blog 在开始本篇正文之前,解决一个 @ ...

  3. swagger接口文档使用

    swagger接口文档 一,swagger简介 前后端分离 swagger 诞生 二,springboot集成swagger 依赖 编写helloworld接口 配置swagger ==> co ...

  4. jeesite如何配置swagger_Spring Boot 2.x基础教程:Swagger接口分类与各元素排序问题详解...

    之前通过Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档一文,我们学习了如何使用Swagger为Spring Boot项目自动生成API文档,有不少用户留言问了关于文档 ...

  5. swagger的分组注释

    文章目录 前言 swagger的分组注释 总结 前言 关于swagger的分组注释 提示:以下是本篇文章正文内容 swagger的分组注释 通过配置两个Docket对Api文档进行分组,设置相关显示及 ...

  6. sentinel 官方文档_SpringCloud网关聚合Swagger接口文档实践

    目前大多数项目都是以微服务架构设计,以前后端分离技术解耦前端开发工程师和后端开发工程师的工作量,这样一来前后端的对接将是一项重要的沟通工作量,如果后端没有一个合适的API文档,那么这样的前后端对接将是 ...

  7. springboot 接口文档 请求 enum_Spring Boot集成SpringFox 3:生成Swagger接口文档

    SpringFox介绍 SpringFox是一个开源的API Doc的框架, 它的前身是swagger-springmvc,可以将我们的Controller中的方法以文档的形式展现.官方定义为:Aut ...

  8. 整合Swagger接口文档

    Swagger接口文档:自动生成接口文档 1.添加依赖: <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagg ...

  9. 自动生成python接口文档_Django自动生成Swagger接口文档

    Django自动生成Swagger接口文档 1. 前言 当接口开发完成,紧接着需要编写接口文档.传统的接口文档通常都是使用Word或者一些接口文档管理平台进行编写,但此类接口文档维护更新比较麻烦,每次 ...

最新文章

  1. 如何让网页不受电信114劫持
  2. 【Android】EditText的一个问题
  3. wds linux,linux 无线组网方式 WDS功能
  4. webclient post java_java – Spring WebFlux,如何调试我的WebClient POST交换?
  5. 面向项目(六)—— 错误(异常)信息的书写
  6. ASP入门基础教程-VBScript概述及基本元素
  7. Sql Server 2012 Enterprise Edition 企业版 迅雷 下载地址
  8. 入门篇——解析Python机器学习中三类无监督学习算法和两个应用实例
  9. 卡塔尔世界杯——你认为今年谁会是冠军?
  10. 如何选择一个合适的物联网模块
  11. android_Socket网络编程实现手机图片上传到电脑
  12. 单链表———带头结点跟不带头结点的区别
  13. 企业办理两化融合有什么优势?
  14. html制作类似qq聊天室,QQ聊天室主页设计
  15. 如果把微信和支付宝比作钱包,那么数字人民币对应的是钱包中的内容
  16. 【yolov5检测代码简化】Yolov5 detect.py推理代码简化,输入图片,输出图片和结果
  17. 2006年重大病毒木马事件大阅兵
  18. 软考高级-系统架构师-软件工程练习题
  19. Game AI SDK开源发布:基于图像的游戏场景自动化框架
  20. 远心镜头设计原理详细介绍

热门文章

  1. IRPT_TAS用户协议
  2. iOS调试_Couldn't load project
  3. dimm和udimm_Adata推出32GB DDR4-2666 UDIMM和SO-DIMM
  4. [C#] 使用 NAudio 实现音频可视化
  5. 批处理文件 执行java_利用批处理文件运行java程序
  6. C语言流输入和输出函数
  7. 量子计算机怎么控制量子状态,量子计算机是什么 它为何如此强大
  8. 前端Html的全新认识
  9. 网易区块链打造可信数字身份认证应用新场景,赋能科技峰会
  10. 开机显示输入最佳预设值_电脑显示输入最佳预设值并重新开机是什么意思