【knife4j-spring-boot】Springboot + knife4j-spring-boot 整合swagger脚手架

swagger-boostrap-ui从1.x版本到如今2.x,同时也更改名字Knife4j

在此记录下 knife4j-spring-boot-starter 的整合。

只需要引入knife4j-spring-boot-starter,无需引入其他的swagger包,knife4j-spring-boot-starter已经包含。

官方版本说明

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.8</version>
</dependency>

整体pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><!--<version>3.1.3</version>--><version>2.7.2</version><relativePath/></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>2023_demo</name><description>2023_demo</description><properties><java.version>11</java.version></properties><dependencies><!-- starter start --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><!-- knife swagger --><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.8</version></dependency><!-- starter end --><!-- mybatis-plus-generator start --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.1</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version></dependency><!-- mybatis-plus-generator end --><!-- 动态数据源 start --><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.5.0</version></dependency><!-- 动态数据源 end --><!-- aop切面 start --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><!-- aop切面 end--><!-- 数据库连接池 start --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.9</version></dependency><!-- 数据库连接池 end --><!-- mysql start --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!-- mysql end --><!-- 工具 start --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.1</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- excel导出 --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>17.0</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.68</version></dependency><!-- 工具 end --><!-- doc\pdf\excel互转 start --><!--<dependency><groupId>e-iceblue</groupId><artifactId>spire.pdf.free</artifactId><version>5.1.0</version></dependency><dependency><groupId>e-iceblue</groupId><artifactId>spire.doc</artifactId><version>11.8.1</version></dependency>--><!-- doc\pdf\excel互转 end --></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build><repositories><repository><id>aliyun-repo</id><name>aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url></repository><repository><id>com.e-iceblue</id><url>https://repo.e-iceblue.cn/repository/maven-public/</url></repository></repositories></project>

包结构

swagger配置:

package com.example.demo.config;import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;/*** @author* @description* @since 2023/8/31*/
@Configuration
@EnableKnife4j
public class SwaggerConfig {/*** 不同包情况下  bi包*/@Beanpublic Docket createRestBiApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("报表管理").select().apis(RequestHandlerSelectors.basePackage("com.example.demo.bi.controller")).paths(PathSelectors.any()).build();}/*** 不同包情况下  system包*/@Beanpublic Docket createRestSystemApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("系统管理").select().apis(RequestHandlerSelectors.basePackage("com.example.demo.system.controller")).paths(PathSelectors.any()).build();}/*** 同包情况下路径不同  同在system包下,book开头的单独分组*/@Beanpublic Docket createRestBookApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("图书管理").select().apis(RequestHandlerSelectors.basePackage("com.example.demo.system.controller")).paths(PathSelectors.regex("/book/.*")).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("2023_demo API管理").description("2023_demo API 1.0").build();}}

yml配置(必须)

spring:mvc:pathmatch:matching-strategy: ant_path_matcher

结果:

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

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

相关文章

unity Terrain 性能问题

在实践过程中unity发生进入场景GPU爆显存的情况&#xff0c;经过调查发现是使用Terrain造成的问题&#xff0c;这个问题在使用一个Terrain的时候并不会发生&#xff0c;但是在使用多个时会发生。 似乎在使用过程中Terrain会直接把Terrain的整个地图加载&#xff0c;造成移动设…

解决:Gitee + PicGo配置图床失败

解决&#xff1a;Gitee PicGo配置图床失败 PicGo安装插件的时候选择&#xff1a;gitee-uploader&#xff0c;不要选择gitee&#xff01; 在Gitee新建的图床仓库中设置一个images文件夹&#xff0c;用来保存上传的图片&#xff0c;但是要注意在PicGo中的path中要写上路径/img…

怎么用 AI 来智能审核 PDF合同?5步搞定!

大家都知道审合同是一个比较耗费精力的过程,有没有更好的办法来智能审核PDF合同呢,今天就教大家一招,用AI来智能审核PDF合同。 在开始之前呢,我们要找到一款带AI功能的工具,我试用过擎盾智能合同审查、幂律智能等工具,感觉都不太理想,经过一段时间的摸索,我找到了一款比较适合…

低代码开发与IT开发的区别

目录 一、含义不同 二、开发门槛不同 三、两者之间的区别 1、从技术特征来看 2、从目标开发者来看 四、低代码平台使用感受&#xff1f; &#xff08;1&#xff09;自定义模块&#xff0c;满足不同的业务需求 &#xff08;2&#xff09;工作流引擎&#xff0c;简化复杂流程的管…

深度学习之基于Tensorflow卷积神经网络鸟类目标识别检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于Tensorflow的卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;CNN&#xff09;在鸟类目标识…

ubuntu22.04在线安装redis,可选择版本

安装脚本7.0.5版本 在线安装脚本&#xff0c;默认版本号是7.0.5&#xff0c;可以根据需要选择需要的版本进行下载编译安装 sudo apt-get install gcc -y sudo apt-get install pkg-config -y sudo apt-get install build-essential -y#安装redis rm -rf ./tmp.log systemctl …

dm数据库的spool导出

我们经常使用oracle的spool功能导出csv或者txt文本&#xff0c;达梦数据库也有类似功能&#xff0c;且语法基本类似&#xff0c;现总结导出脚本如下&#xff1a; set pagesize 0 set trimspool on set linesize 500 set lineshow off set feedback off set verify off set ech…

自养号测评补单对亚马逊,美客多,国际站卖家有什么影响

做测评&#xff0c;补单。其本质也是增加真实用户浏览下单&#xff0c;得到平台规则的承认&#xff0c;让它给你更多曝光和排名&#xff0c;从而增加转化率。相信很多卖家都没做过测评&#xff0c;补单。只靠着产品优化&#xff0c;广告和催评等手段来提升店铺&#xff0c;但是…

什么是数据确权?

在数字化时代&#xff0c;数据已经成为一种新型资产&#xff0c;”新的石油“&#xff0c;具有巨大的价值&#xff0c;未来世界经济竞争一定程度上是数字经济的竞争&#xff0c;而非工业的竞争。数据相关法律制度&#xff0c;尚且还不完整&#xff0c;推动数字经济的发展&#…

电机应用开发-直流有刷电机电流环控制实现

目录 直流有刷电机电流环控制实现 硬件设计 直流电机电流环控制-位置式PID实现 编程要点 配置ADC可读取电流值 配置基本定时器6产生定时中断读取当前电路中驱动电机的电流值并执行PID运算 配置定时器1输出PWM控制电机 ADC数据处理 编写位置式PID算法 直流电机电流环控…

shopee数据分析软件丨探索Shopee数据分析软件——知虾

随着电子商务的快速发展&#xff0c;越来越多的商家和企业开始关注数据分析的重要性。在这个竞争激烈的市场中&#xff0c;了解消费者行为、市场趋势和竞争对手的策略是取得成功的关键。而Shopee数据分析软件——知虾&#xff0c;成为了许多商家和企业的首选工具。本文将深入探…