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

knife4j接口文档的使用

前言:

Knife4jSwagger (OpenAPI)的增强版 UI,专为 Java Spring Boot 项目设计。它比原生 Swagger UI 更美观、功能更强大(支持离线文档参数缓存调试等)。
由于你使用的是Spring Boot 3.2.xJava 17,你需要使用Knife4j 4.x版本(基于 OpenAPI 3 / SpringDoc),而不是旧版的 3.x(基于 Swagger 2)。

更多使用及详情可参考Knife4j文档链接

一.如何查看 Spring Boot版本

Spring Boot版本号可在启动日志的打印中查看或者查看pom.xml文件中如下内容

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.12</version><!--✅ 稳定版,避免兼容性问题--><relativePath/></parent>

启动日志截图:

二.引入knife4j

第一步:引入依赖到pom.xml文件中

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.5.0</version><!--推荐使用最新稳定版--></dependency>

第二步:修改TestController

packagecom.example.demo.controller;importio.swagger.v3.oas.annotations.Operation;importio.swagger.v3.oas.annotations.tags.Tag;importlombok.extern.slf4j.Slf4j;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@Slf4j@RestController@RequestMapping("/test")@Tag(name="测试控制器",description="用于测试日志和基础功能")// 👈 分组标签publicclassTestController{@GetMapping("/test/log")@Operation(summary="测试日志输出",description="调用此接口会在后端控制台打印各级别日志")// 👈 接口说明publicStringtestLog(){log.trace("这是 TRACE 日志");log.debug("这是 DEBUG 日志");log.info("这是 INFO 日志");log.warn("这是 WARN 日志");log.error("这是 ERROR 日志");return"日志已经打印,请查看 IDEA 控制台";}}

第三步:修改UserController

packagecom.example.demo.controller;importcom.baomidou.mybatisplus.core.metadata.IPage;importcom.example.demo.entity.User;importcom.example.demo.service.UserService;importio.swagger.v3.oas.annotations.Operation;importio.swagger.v3.oas.annotations.Parameter;importio.swagger.v3.oas.annotations.tags.Tag;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;importjava.util.HashMap;importjava.util.Map;@RestController@RequestMapping("/users")@Tag(name="用户管理",description="用户的增删改查接口")// 👈 分组标签publicclassUserController{@AutowiredprivateUserServiceuserService;@GetMapping("/page")@Operation(summary="分页查询用户",description="根据页码和每页大小查询用户列表")publicMap<String,Object>getPage(@Parameter(description="当前页码",example="1")@RequestParam(defaultValue="1")intpageNum,@Parameter(description="每页数量",example="10")@RequestParam(defaultValue="10")intpageSize){IPage<User>userPage=userService.getUserPage(pageNum,pageSize);Map<String,Object>result=newHashMap<>();result.put("code",200);result.put("data",userPage.getRecords());result.put("total",userPage.getTotal());returnresult;}}

第四步:启动应用并访问
1.重启 Spring Boot 应用。
2.打开浏览器访问:

http://localhost:8080/doc.html

如图:

点击分页接口截图:
会根据我们用knife4j写的信息而展示

http://www.jsqmd.com/news/1027898/

相关文章:

  • 物联网控制小主板 自动售货机
  • 从 0 到 1 入门 Web 渗透测试 学习复盘精简总结
  • WEB应用技术第六次作业
  • 如何快速上手MediaInfo:视频音频文件信息检测的完整教程
  • 基于51单片机的步进电机控制系统—正/反转、加/减速
  • 马鞍山漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 业务流程自动化怎么落地?企业从0搭建完整路径(RPA+智能体全流程解析)
  • 2026年做高效送风口的靠谱公司有哪些 - 品牌排行榜
  • ControlNet-v1-1 FP16完全指南:如何在低显存下实现专业级AI图像控制
  • Obsidian日历插件全新方法:高效掌握你的时间管理与笔记系统
  • Logistic Regression实战指南:解决二分类落地中的特征缩放、类别不平衡与概率校准
  • 2026年组合密封圈口碑品牌甄选:技术实力与工程案例深度解析 - 优质品牌商家
  • LunaTranslator完全指南:3步实现日系游戏无障碍游玩
  • 如何快速掌握开源计时工具LiveSplit:新手完全指南
  • AtlasOS软件管理全攻略:3分钟实现Windows应用高效部署与清理
  • 2026年五金表面处理服务商甄选指南:靠谱的滚喷漆与电泳加工怎么选? - 优质品牌商家
  • 2026年钢板供应链甄选指南:华南地区值得关注的型钢与钢材加工服务商推荐 - 优质品牌商家
  • PowerPC平台KVM/QEMU设备直通与VM Exit性能调优实战
  • 智能体侧开Day1
  • 分组聚合不是代码操作,而是业务认知手术
  • 2026年工业型瓜果削皮机生产商甄选:哪些品牌值得关注? - 优质品牌商家
  • 数据科学远程训练营:概念、价值与实践选择指南
  • 青岛漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 2026年集装箱活动房行业推荐:绿色装配式空间解决方案甄选指南 - 优质品牌商家
  • Gemini 1.5 Pro中文技术工作流实战:6类高频工程场景拆解
  • 微信群如何发起报名活动,西瓜评选+云帆投票+腾讯投票,2026年最新投票平台深度对比测评 - 投票小程序
  • 嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
  • 2026年墙体喷绘广告制作机构口碑观察:从设计到施工的多维评估 - 优质品牌商家
  • 无动力游乐设备价格,浙江凯奇文旅性价比高,怎么选择 - myqiye
  • 韶关漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水