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

swagger增强knife4j

1、官网文档

快速开始 | Knife4j

2、引入依赖

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

3、配置文件

引入之后,其余的配置,开发者即可完全参考springdoc-openapi的项目说明,Knife4j只提供了增强部分,如果要启用Knife4j的增强功能,可以在配置文件中进行开启。部分配置如下:

# springdoc-openapi项目配置 springdoc: swagger-ui: path: /swagger-ui.html tags-sorter: alpha operations-sorter: alpha api-docs: path: /v3/api-docs group-configs: - group: 'default' paths-to-match: '/**' packages-to-scan: com.ybw.controller # knife4j的增强配置,不需要增强可以不配 knife4j: enable: true setting: language: zh_cn

Knife4j更多增强配置明细,请移步文档进行查看。

4、代码

最后,使用OpenAPI3的规范注解,注释各个Spring的REST接口,示例代码如下:

package com.ybw.controller; import com.ybw.dto.BodyDTO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("body") @Tag(name = "body参数") public class BodyController { @Operation(summary = "普通body请求") @PostMapping("/body") public ResponseEntity<BodyDTO> body(@RequestBody BodyDTO bodyDTO) { return ResponseEntity.ok(bodyDTO); } @Operation(summary = "普通body请求+Param+Header+Path") @Parameters({ @Parameter(name = "id", description = "文件id", in = ParameterIn.PATH), @Parameter(name = "token", description = "请求token", required = true, in = ParameterIn.HEADER), @Parameter(name = "name", description = "文件名称", required = true, in = ParameterIn.QUERY) }) @PostMapping("/bodyParamHeaderPath/{id}") public ResponseEntity<BodyDTO> bodyParamHeaderPath(@PathVariable("id") String id, @RequestHeader("token") String token, @RequestParam("name") String name, @RequestBody BodyDTO bodyDTO) { bodyDTO.setName(bodyDTO.getName() + ",receiveName:" + name + ",token:" + token + ",pathID:" + id); return ResponseEntity.ok(bodyDTO); } }
package com.ybw.dto; import lombok.Data; /** * @author ybw * @version V1.0 * @className BodyDTO * @date 2026/7/2 **/ @Data public class BodyDTO { private String name; }

5、访问

访问Knife4j的文档地址:http://ip:port/doc.html即可查看文档。

6、导出

文档管理-离线文档

http://www.cnnetsun.cn/news/3126479.html

相关文章:

  • C++:拷贝构造函数
  • 椭圆曲线 Diffie-Hellman 密钥交换解题思路
  • 集团知识管理平台建设方案:74页PpT爆款干货全解析!
  • 【2026万字实录】从理论到实战:网络信息安全全景深度解析与避坑指南
  • 后 Django 时代:SQLAlchemy 2.0、Tortoise 与 Piccolo 三大异步 ORM 选型指南
  • 几分钟完成 OpenClaw 安装,Windows 可视化步骤新手直接照搬
  • 手撕字符串算法:反转、回文、验证回文 Ⅱ 完整拆解
  • 带标注的骑电动车是否佩戴头盔数据集,识别率77.1%,1345张图,支持yolo,coco json,voc xml,文末有模型训练代码
  • 3个核心功能解决你的Windows日志分析困境:为什么LogExpert能成为开发运维的终极利器?
  • DellFanManagement:戴尔笔记本终极风扇控制解决方案,告别噪音与过热烦恼!
  • 预约留资小程序制作工具测评:餐宝盈/BBWEYY/比文云/Landingi/Webnode(2026年7月更新)含零代码SAAS、AI编程、源码定制交付
  • GPT-4o与文心一言4.5:当前主流大模型真实进展解析
  • 芯原推出CPP2000摄像头后处理IP,赋能具身机器人和移动视觉应用
  • 云系列和Terraform(十二)
  • WidescreenFixesPack:让70+款经典游戏在现代宽屏显示器上完美运行的终极方案
  • Claude为什么这么聪明?揭秘藏在每个AI大模型背后的“注意力魔法“
  • 02-SpringBoot配置文件
  • 华为MetaERP OM 一致性对账 SQL 脚本集合(OM-WSH、WSH-INV、OM-AR、异常订单筛查)
  • 无感FOC与滑膜观测器在电机控制中的应用
  • 建筑外立面缺陷智能识别:YOLOv26驱动下的多类损伤检测数据集与实战10748期
  • 1kW高效BLDC电机设计:医疗设备应用与转矩脉动控制
  • 保姆级外部字幕添加教程 3步搞定播放器字幕加载
  • aixingpan.cn API开发文档:api_docs_onechart_lunar_return2接口指南
  • 大模型应用中的“中转层”到底解决了什么问题?
  • [对比评测]SendTomo和LocalSend哪个更适合文件传输
  • Linux服务器Jmeter压测实战:环境搭建、脚本优化与性能分析
  • RAG检索增强策略:混合检索、重排序与Query改写
  • 量子阱结构二极管:电子元器件的颠覆性创新
  • SQL慢_分析 执行计划突变
  • 一键生成公众号文章自动排版工具实战指南