springboot swagger 接口文档分组展示

例如将 controller 分成四类,分别放到四个包下:

        

xxx.xxx.xxx.controller.manage
xxx.xxx.xxx.controller.client
xxx.xxx.xxx.controller.authority
xxx.xxx.xxx.controller.common
SwaggerConfig.java:
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;import java.util.ArrayList;
import java.util.Collections;
import java.util.List;@RefreshScope
@Configuration
@EnableSwagger2
public class SwaggerConfig {@Value("${system.swagger_show}")private boolean swaggerShow;@Beanpublic Docket manageGroup() {return this.buildDocket( "管理端接口","xxx.xxx.xxx.controller.manage" );}@Beanpublic Docket clientGroup() {return this.buildDocket( "移动端接口","xxx.xxx.xxx.controller.client" );}@Beanpublic Docket authorityGroup() {return this.buildDocket( "权限相关接口","xxx.xxx.xxx.controller.authority" );}@Beanpublic Docket commonGroup() {return this.buildDocket( "数据字典、行政区域公共接口","xxx.xxx.xxx.controller.common" );}private Docket buildDocket( String groupName,String basePackage ){return new Docket(DocumentationType.SWAGGER_2).groupName( groupName ).enable(this.swaggerShow).produces(Collections.singleton(MediaType.APPLICATION_JSON_VALUE)).genericModelSubstitutes(ResponseEntity.class).forCodeGeneration(false).useDefaultResponseMessages(false).pathMapping("/").select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).apis(RequestHandlerSelectors.basePackage( basePackage )).paths(PathSelectors.any()).build().globalOperationParameters( setHeaderToken() ).directModelSubstitute(java.sql.Timestamp.class, java.sql.Date.class).apiInfo(apiInfo());}private List<Parameter> setHeaderToken() {ParameterBuilder tokenPar = new ParameterBuilder();List<Parameter> pars = new ArrayList<>();tokenPar.name("witToken").description("登录token").modelRef(new ModelRef("string")).parameterType("header").required(false).build();pars.add(tokenPar.build());return pars;}private ApiInfo apiInfo() {ApiInfo apiInfo = new ApiInfoBuilder().title("xxx系统( xxx) API").description("xxx系统( xxx) API").license(null).licenseUrl(null).contact(new Contact("developer", "", "developer@xxx.com")).version("1.0").build();return apiInfo;}}

效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/772230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java程序设计】【C00367】基于(JavaWeb)Springboot的粮仓管理系统(有论文)

TOC 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;博客中有上百套程序可供参考&#xff0c;欢迎共同交流学习。 项目简介 项目获取 &#x1f345;文末点击卡片…

【Python系列】获取字符串的长度

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

python判断工作日,节假日

一、概述 需要判断一个日期是否为工作日&#xff0c;节假日。 找到一个现成的插件&#xff0c;蛮好用的。 插件介绍 https://pypi.org/project/chinesecalendar/ 判断某年某月某一天是不是工作日/节假日。 支持 2004年 至 2020年&#xff0c;包括 2020年 的春节延长。 兼容…

STL标准模板库(C++

在C里面有已经写好的标准模板库〈Standard Template Library)&#xff0c;就是我们常说的STL库&#xff0c;实现了集合、映射表、栈、队列等数据结构和排序、查找等算法。我们可以很方便地调用标准库来减少我们的代码量。 size/empty 所有的STL容器都支持这两个方法&#xff0c…

【React】react快速入门教程

react快速入门教程 React是一个用于构建用户界面的JavaScript库。它由Facebook开发,并且已经成为前端开发中最受欢迎的工具之一。本快速入门教程将介绍React的基础知识和常用概念,帮助你开始使用React构建交互式的Web应用程序。 1. React的创建和嵌套组件 React是一个JavaSc…

Java关键字、注释、数据类型

1、关键字 在 Java 中内置了很多有特殊意义的单词&#xff0c;这些单词不能做为类名、方法名、变量名来使用。这类单词被称为关键字&#xff0c;且都为小写 48个关键字&#xff1a;abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do…

家用洗地机到底怎么选?四大宝藏品牌强推

现在洗地机已经不是什么冷门清洁家电了&#xff0c;我问过身边不少朋友&#xff0c;发现大家在选购的路上&#xff0c;大致分为两派&#xff0c;一类是按照销量和好评来判断优劣&#xff0c;另一类朋友就比较讲究了&#xff0c;会去搜索很多的相关知识&#xff0c;但在这个过程…

阅读笔记(ICIP2023)Rectangular-Output Image Stitching

“矩形输出”图像拼接 Zhou, H., Zhu, Y., Lv, X., Liu, Q., & Zhang, S. (2023, October). Rectangular-Output Image Stitching. In 2023 IEEE International Conference on Image Processing (ICIP) (pp. 2800-2804). IEEE. 0. 摘要 图像拼接的目的是将两幅视场重叠的…

工作中遇到的疑难杂症,以及解决办法

一 pagehelper和自定义mybatis拦截器冲突bug 1.1 问题描述 当在springboot工程&#xff0c;持久层使用mybatis&#xff0c;且使用pagehelper实现分页功能&#xff0c;当随着业务发展&#xff0c;需要自定义一个mybatis的拦截器实现sql的打印&#xff0c;但是出现拦截器失效&…

【JavaScript】JavaScript 程序流程控制 ⑦ ( do-while 循环概念 | do-while 循环语法结构 )

文章目录 一、while 循环1、while 循环概念2、do-while 循环语法结构 二、do-while 循环代码示例1、打印 1-5 数字2、打印 1-10 累加和 一、while 循环 1、while 循环概念 JavaScript 中的 do-while 循环 是 while 循环的变体 , 是 一种 后测试 循环 , 该循环的 循环体 至少执行…

入门编程,一定要从C语言开始吗?

对于编程入门学习者&#xff0c;C语言肯定不是首选。建议先确定自己的发展方向&#xff0c; 如果打算做Web 开发&#xff0c;可以先从学习HTML,CSS,Javascript开始&#xff0c;后台使用Node.JS&#xff0c;也是用Javascript 来编程, 可降低入门门槛。 在开始前我有一些资料…

Copilot 编程助手的介绍及使用

介绍 Copilot 是2021年由 GitHub 与 OpenAI 合作研发的一款编程助手&#xff0c;同时也是全球首款使用OpenAI Codex模型&#xff08;GPT-3后代&#xff09;打造的大规模生成式AI开发工具。 Copilot 底层模型目前经过了数十亿行公开代码的训练&#xff0c;与大多数代码辅助工具…

中科数安 || 防止公司内部文件资料 \数据外泄,图档透明加密防泄密软件,源代码防泄露系统。

#文件防泄密软件# 中科数安是一家专注于信息安全领域的高科技企业&#xff0c;其提供的防止公司内部文件资料及数据外泄的解决方案主要包括图档透明加密和源代码防泄露系统等核心服务。 中科数安 | 图档、源代码防止外泄系统 PC地址&#xff1a; www.weaem.com 1. 图档透明加…

大学宠物医疗试题及答案,分享几个实用搜题和学习工具 #学习方法#笔记#知识分享

大学开学&#xff0c;就意味着又回到了被线性代数、大学物理等测验题折磨的状态了……网站无法手动输入题干公式&#xff0c;初高中用过的搜题软件又都搜不到&#xff0c;想找个答案解析仿佛在大海捞针&#xff01;不过不用怕&#xff0c;今天小林就把从大学攒到毕业工作都在使…

Java基础知识总结(20)

二叉查找树 二叉查找树的节点有一个元素X和两个指针域&#xff0c;左指针指向小于X的元素&#xff0c;右指针指向大于X的元素。 假设我们的插入序列是1~10&#xff0c;那么这颗树会演变成只有右链接的形式&#xff0c;树高会增加到10层&#xff0c;这个时候已经不具备O(LogN)…

pta L1-082 种钻石

L1-082 种钻石 分数 5 全屏浏览 切换布局 作者 陈越 单位 浙江大学 2019年10月29日&#xff0c;中央电视台专题报道&#xff0c;中国科学院在培育钻石领域&#xff0c;取得科技突破。科学家们用金刚石的籽晶片作为种子&#xff0c;利用甲烷气体在能量作用下形成碳的等离子体…

【微服务】Gateway

文章目录 1.基本介绍官方文档&#xff1a;https://springdoc.cn/spring-cloud-gateway/#gateway-starter1.引出网关2.使用网关服务架构图3.Gateway网络拓扑图&#xff08;背下来&#xff09;4.Gateway特性5.Gateway核心组件1.基本介绍2.断言3.过滤 6.Gateway工作机制 2.搭建Gat…

Python实现WebSocket通信

WebSocket是一种在单个TCP连接上进行全双工通信的协议,位于 OSI 模型的应用层。 与传统的HTTP请求-响应模型不同&#xff0c;WebSocket的最大特点就是&#xff0c;服务器可以主动向客户端推送信息&#xff0c;客户端也可以主动向服务器发送信息&#xff0c;实现实时性和互动性…

linux系统中docker镜像创建、导入导出和执行

1、创建基础镜像 (1)写一个dockerfile FROM python:3.7.13 LABEL maintainer="test" add . /test WORKDIR /test run pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple -

Nacos部署(一)Linux部署Nacos2.3.x单机环境

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; Nacos部署&#xff08;一&#xff09;Linux部署Nacos2.3.x单机环境 ⏱️…