当前位置: 首页 > 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.rkmt.cn/news/1539776.html

相关文章:

  • 2026春见耙耙柑苗木选购指南:正规供应商甄选与行业趋势分析 - 优质品牌商家
  • 马鞍山漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 基于51单片机的步进电机控制系统—正/反转、加/减速
  • ControlNet-v1-1 FP16完全指南:如何在低显存下实现专业级AI图像控制
  • Logistic Regression实战指南:解决二分类落地中的特征缩放、类别不平衡与概率校准
  • 2026年组合密封圈口碑品牌甄选:技术实力与工程案例深度解析 - 优质品牌商家
  • PowerPC平台KVM/QEMU设备直通与VM Exit性能调优实战
  • 数据科学远程训练营:概念、价值与实践选择指南
  • 无动力游乐设备价格,浙江凯奇文旅性价比高,怎么选择 - myqiye
  • 探索PyPSA中的碳排放约束
  • 选购CCS集成母排,优质定制厂家浙江中燕新能源不可错过 - 工业品牌热点
  • 高级手势:PanGesture滑动、PinchGesture缩放的坐标计算(31)
  • 有实力的会议用车品牌企业,温州聚游汽车服务的优势 - mypinpai
  • Qwen3.6不生图却能生成封面:本地Agent绘图工作流实战
  • 从HX711到MCP3551:高精度称重传感器电路设计全解析
  • 注册公司服务推荐哪家,嘉简财税优势在哪 - 工业品牌热点
  • 微信群内怎么发起投票,云帆投票+西瓜评选+腾讯投票,深度测评 - 投票小程序
  • 多维聚合实战:用Python构建可演化的数据立方体
  • 【硬核进阶】别再被阻塞拖垮!一文讲透 Tokio + async/await,榨干 Rust 高并发性能
  • 大白话带你速通 Claude Code Skill:如何让你的 AI 编程助手瞬间“社会化”?
  • 免费布局写字楼光伏电站哪家强?上喜光伏实力出圈 - mypinpai
  • 随州漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 2026年企业级AI API集成实践:高可靠聚合调度平台选型指南
  • 数据科学家必学的轻量级ETL流水线实战
  • 西北代理勤策软件服务多少钱?价格一览表 - 工业品牌热点
  • 手推最小二乘法:从散点图到回归公式的完整推导
  • 5个核心功能解析:Audacity如何重塑你的音频创作体验
  • 2026年北京粘度计市场深度观察:多维度甄选与官方推荐指南 - 优质品牌商家
  • 保税区转厂流程全解析与合规服务选型指南:东莞清溪保税区报关、保税仓库出租、保税区贴标、保税区转厂一日游、保税区转厂代理选择指南 - 优质品牌商家
  • 3分钟掌握:如何用NXLoader让安卓手机变身Switch专业启动器