当前位置: 首页 > news >正文

SpringBoot实战:整合Knife4j

本文介绍Knife4j快速整合SpringBoot开发接口。

一,Knife4J介绍

Knife4j 是一个为 Java MVC 框架集成 Swagger 生成 API 文档的增强解决方案,前身是 Swagger-Bootstrap-UI。相比于Swagger,Knife4j提供了更美观、现代化的 UI 界面,增强了交互性。

二,Knife4J和SpringBoot版本关系

三,整合步骤

1. 配置环境

       JDK:17

       SpringBoot:3.4.5

       Knife4j:4.5.0

2. 引入依赖

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

3. 添加配置信息

在application.yml里面添加配置

# springdoc-openapi项目配置
springdoc:swagger-ui:#自定义swagger前端请求路径,输入http:localhost:8080/swagger-ui会自动重定向到swagger页面path: /swagger-uitags-sorter: alphaoperations-sorter: alphaapi-docs:path: /v3/api-docs  #swagger后端请求地址enabled: true   #是否开启文档功能group-configs: #分组配置,可配置多个分组- group: 'default'             #分组名称paths-to-match: '/**'        #配置需要匹配的路径packages-to-scan: com.cms    #配置要扫描包的路径,一般配置到启动类所在的包名- group: 'admin-api'paths-to-match: '/**'packages-to-scan: com.cms

4. 定义配置类

WebMvcConfig配置SpringMVC信息

/*** web层配置类,实现静态资源映射,将knife4j相关资源放行,保证生成的接口文档能够正常进行展示* @author Hva*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {/*** 设置静态资源映射*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {// 添加静态资源映射规则registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");//配置 knife4j 的静态资源请求映射地址registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}
}

配置Knife4j配置信息

/*** Knife4j整合Swagger3 Api接口文档配置类* @author Hva*/
@Configuration
public class Knife4jConfig {/*** 创建了一个api接口的分组* 除了配置文件方式创建分组,也可以通过注册bean创建分组*/@Beanpublic GroupedOpenApi adminApi() { return GroupedOpenApi.builder()// 分组名称.group("app-api")// 接口请求路径规则.pathsToMatch("/**").build();}/*** 配置基本信息*/@Beanpublic OpenAPI openAPI() {return new OpenAPI().info(new Info()// 标题.title("Knife4j整合Swagger3 Api接口文档")// 描述Api接口文档的基本信息.description("Knife4j后端接口服务...")// 版本.version("v1.0.0")// 设置OpenAPI文档的联系信息,姓名,邮箱。.contact(new Contact().name("Hva").email("Hva@163.com"))// 设置OpenAPI文档的许可证信息,包括许可证名称为"Apache 2.0",许可证URL为"http://springdoc.org"。.license(new License().name("Apache 2.0").url("http://springdoc.org")));}
}

5. 创建测试类Controller

DemoController

@RestController
@RequestMapping("demo")
public class DemoController {@GetMapping("test")@Operation(summary = "测试问好", description = "测试问好")@Tag(name = "问好", description = "问好")public String demo() {return "Hello Knife4j";}}

6. 启动项目调试Knife4j接口

如果一切配置正确,启动SpringBoot项目,并访问url地址:localhost:8080/doc.html(ip:port/doc.html),就可以看到knife4j的界面。

在左上角选择对应的分组,再选择api接口进行测试

四. 踩坑日志

1. 项目不能启动报错

首先检查knife4j和springboot对应的版本是否匹配,不匹配就会报错

相关文章:

  • 前端懒加载(Lazy Loading)实战指南
  • 开元类双端互动组件部署实战全流程教程(第3部分:UI资源加载机制与界面逻辑全面解析
  • 金仓数据库 KingbaseES 在电商平台数据库迁移与运维中深入复现剖析
  • C++和Lua混和调用
  • 编译原理期末重点-个人总结——2 文法与语言
  • 相同IP和端口的服务器ssh连接时出现异常
  • 36-校园反诈系统(小程序)
  • JS DAY4 日期对象与节点
  • JAVA简单走进AI世界~Spring AI
  • Ubuntu K8S(1.28.2) 节点/etc/kubernetes/manifests 不存在
  • 二、【LLaMA-Factory实战】数据工程全流程:从格式规范到高质量数据集构建
  • 虚幻引擎5-Unreal Engine笔记之显卡环境设置使开发流畅
  • springboot+mysql+element-plus+vue完整实现汽车租赁系统
  • Vue3携手Echarts,打造炫酷数据可视化大屏
  • Flutter——数据库Drift开发详细教程(四)
  • GZ人博会自然资源系统(测绘)备考笔记
  • 享元模式(Flyweight Pattern)详解
  • 小米刷新率 2.4 | 突破屏幕刷新率限制,享受更流畅视觉体验的应用程序
  • 内存碎片深度剖析
  • 十大排序算法全面解析(Java实现)及优化策略
  • 黄仁勋:中国AI市场将达500亿美元,美国企业若无法参与是巨大损失
  • 刘诚宇、杨皓宇进球背后,是申花本土球员带着外援踢的无奈
  • 一周人物|何子彦任职光州双年展,陈意心讲述五原路往事
  • 以色列计划“占领加沙”,特朗普下周中东行结束之际将是“机会窗口”
  • 《黎明的一切》:与正常世界脱轨后,我选择不再回去
  • 新加坡总理黄循财领导人民行动党胜选,外交部回应