springboot3整合knife4j详细版,包会!(不带swagger2玩)
1. 引入依赖dependency groupIdcom.github.xiaoymin/groupId artifactIdknife4j-openapi3-jakarta-spring-boot-starter/artifactId version4.4.0/version /dependency2. 配置文件简短必要版# 配置springdoc-openapi用于文档化和访问API springdoc: # 配置Swagger UI的访问路径和排序方式 swagger-ui: path: /swagger-ui.html # Swagger UI的访问路径 tags-sorter: alpha # 按字母顺序排序标签 operations-sorter: alpha # 按字母顺序排序操作 # 配置API文档的访问路径 api-docs: path: /v3/api-docs # API文档的访问路径 # 配置API分组用于组织和管理API group-configs: - group: default # API分组名称 paths-to-match: /** # 匹配所有路径 packages-to-scan: com.ykx.easyexceldemo02.controller # 扫描的包用于自动发现API # knife4j的增强配置不需要增强可以不配详细版见下小节 knife4j: enable: true setting: language: zh_cn详细全部版# 配置Knife4j以启用Swagger文档的增强功能和定制化展示 knife4j: # 启用Knife4j扩展 enable: true # 配置展示的文档分组 documents: - # 文档分组标题 group: 2.X版本 # 文档分组描述 name: 接口签名 # 指定接口文档的位置 locations: classpath:sign/* # 配置Knife4j的展示细节和功能开关 setting: # 设置界面语言 language: zh-CN # 启用Swagger模型展示 enable-swagger-models: true # 启用文档管理功能 enable-document-manage: true # 设置Swagger模型的显示名称 swagger-model-name: 实体类列表 # 是否显示版本信息 enable-version: false # 是否启用参数缓存刷新 enable-reload-cache-parameter: false # 启用后端脚本支持 enable-after-script: true # 过滤特定方法类型的multipart/form-data接口 enable-filter-multipart-api-method-type: POST # 是否过滤所有multipart/form-data类型的接口 enable-filter-multipart-apis: false # 启用请求缓存 enable-request-cache: true # 是否显示自定义主机名 enable-host: false # 设置自定义的主机名 enable-host-text: 192.168.0.193:8000 # 启用自定义首页 enable-home-custom: true # 设置自定义首页的路径 home-custom-path: classpath:markdown/home.md # 是否启用搜索功能 enable-search: false # 是否显示页脚 enable-footer: false # 启用自定义页脚内容 enable-footer-custom: true # 设置自定义页脚的内容 footer-custom-content: Apache License 2.0 | Copyright 2019-[浙江八一菜刀股份有限公司](https://gitee.com/xiaoym/knife4j) # 是否启用动态参数 enable-dynamic-parameter: false # 启用调试模式 enable-debug: true # 启用OpenAPI 3.0的支持 enable-open-api: false # 启用接口分组功能 enable-group: true # 是否启用CORS跨域支持 cors: false # 是否启用生产模式 production: false # 配置基本的认证信息 basic: # 启用基本认证 enable: false # 设置用户名 username: test # 设置密码 password: 12313注意要使用Knife4j提供的增强knife4j.enabletrue必须开启各个配置属性说明如下属性默认值说明值knife4j.enablefalse是否开启Knife4j增强模式knife4j.corsfalse是否开启一个默认的跨域配置,该功能配合自定义Host使用knife4j.productionfalse是否开启生产环境保护策略,详情参考文档knife4j.basic对Knife4j提供的资源提供BasicHttp校验,保护文档knife4j.basic.enablefalse关闭BasicHttp功能knife4j.basic.usernamebasic用户名knife4j.basic.passwordbasic密码knife4j.documents自定义文档集合该属性是数组knife4j.documents.group所属分组knife4j.documents.name类似于接口中的tag,对于自定义文档的分组knife4j.documents.locationsmarkdown文件路径,可以是一个文件夹(classpath:markdowns/*)也可以是单个文件(classpath:md/sign.md)knife4j.setting前端Ui的个性化配置属性knife4j.setting.enable-after-scripttrue调试Tab是否显示AfterScript功能,默认开启knife4j.setting.languagezh-CNUi默认显示语言,目前主要有两种:中文(zh-CN)、英文(en-US)knife4j.setting.enable-swagger-modelstrue是否显示界面中SwaggerModel功能knife4j.setting.swagger-model-nameSwagger Models重命名SwaggerModel名称,默认knife4j.setting.enable-document-managetrue是否显示界面中文档管理功能knife4j.setting.enable-reload-cache-parameterfalse是否在每个Debug调试栏后显示刷新变量按钮,默认不显示knife4j.setting.enable-versionfalse是否开启界面中对某接口的版本控制,如果开启后端变化后Ui界面会存在小蓝点knife4j.setting.enable-request-cachetrue是否开启请求参数缓存knife4j.setting.enable-filter-multipart-apisfalse针对RequestMapping的接口请求类型,在不指定参数类型的情况下,如果不过滤,默认会显示7个类型的接口地址参数,如果开启此配置,默认展示一个Post类型的接口地址knife4j.setting.enable-filter-multipart-api-method-typePOST具体接口的过滤类型knife4j.setting.enable-hostfalse是否启用Hostknife4j.setting.enable-host-textfalseHOST地址knife4j.setting.enable-home-customfalse是否开启自定义主页内容knife4j.setting.home-custom-path主页内容Markdown文件路径knife4j.setting.enable-searchfalse是否禁用Ui界面中的搜索框knife4j.setting.enable-footertrue是否显示Footerknife4j.setting.enable-footer-customfalse是否开启自定义Footerknife4j.setting.footer-custom-contentfalse自定义Footer内容knife4j.setting.enable-dynamic-parameterfalse是否开启动态参数调试功能knife4j.setting.enable-debugtrue启用调试knife4j.setting.enable-open-apitrue显示OpenAPI规范knife4j.setting.enable-grouptrue显示服务分组3. 常用注解1. 类级别注解Operation用于描述控制器类中的单个操作。Operation(summary 获取用户列表, description 返回所有用户的列表) GetMapping(/users) public ListUser getUsers() { // ... }属性summary简短描述。description详细说明。tags标签用于分类API。responses响应描述。Tag用于为API操作分组。Tag(name 用户管理, description 用户相关操作) RestController RequestMapping(/users) public class UserController { // ... }属性name标签名。description标签描述。2. 方法级别注解Operation用于描述单个操作类似于类级别使用方式。Operation(summary 获取用户列表, description 返回所有用户的列表) GetMapping(/users) public ListUser getUsers() { // ... }属性summary简短描述。description详细说明。tags标签用于分类API。responses响应描述。ApiResponses用于描述API操作的响应。Operation(summary 获取用户列表) ApiResponses(value { ApiResponse(responseCode 200, description 成功, content Content(mediaType application/json, schema Schema(implementation User.class))), ApiResponse(responseCode 400, description 请求参数错误), ApiResponse(responseCode 404, description 找不到资源), ApiResponse(responseCode 500, description 服务器内部错误) }) GetMapping(/users) public ListUser getUsers() { // ... }属性value包含多个ApiResponse注解。ApiResponse用于描述单个响应。属性responseCodeHTTP状态码。description描述信息。content响应内容类型和模式。3. 参数级别注解Parameter用于描述单个参数。Operation(summary 获取用户详情) GetMapping(/{id}) public User getUser(Parameter(description 用户ID, required true) PathVariable Long id) { // ... }属性name参数名。description参数描述。required是否必须参数。schema参数模式。Parameters用于描述多个参数。Operation(summary 分页获取用户列表) Parameters({ Parameter(name page, description 页码, required true, schema Schema(type integer, example 1)), Parameter(name size, description 每页数量, required true, schema Schema(type integer, example 10)) }) GetMapping(/users) public ListUser getUsersByPage(RequestParam int page, RequestParam int size) { // ... }属性value包含多个Parameter注解。4. 模型类注解Schema用于描述模型类和字段的信息。Schema(description 用户实体) public class User { Schema(description 用户ID, example 1) private Long id; Schema(description 用户名, example Alice) private String name; Schema(description 用户年龄, example 30) private Integer age; // getters and setters }属性description字段描述。example示例值。required是否必须字段。type字段类型。ArraySchema用于描述数组类型的字段。Schema(description 用户列表) public class UserListResponse { ArraySchema(schema Schema(implementation User.class), description 用户数组) private ListUser users; // getters and setters }属性schema数组元素的模式。description数组描述。5. 文件上传相关注解Operation(summary 上传文件) PostMapping(value /upload, consumes MediaType.MULTIPART_FORM_DATA_VALUE) public String uploadFile(Parameter(description 文件, required true) RequestParam(file) MultipartFile file) { // ... }4. 访问地址http://localhost:8080/doc.html

相关新闻

AI时代人人都是产品经理:避坑指南:AI 时代做产品,90% 的人都会踩的 3 个认知误区

AI时代人人都是产品经理:避坑指南:AI 时代做产品,90% 的人都会踩的 3 个认知误区

AI时代产品经理的3个核心认知误区 AI技术的普及降低了产品从创意到落地的门槛,但也让不少从业者陷入认知偏差。本文将拆解90%的产品人都会踩的3个误区,并给出可落地的避坑方案,测试环境基于GPT、Claude及主流低代码平台(如Mendix&…

2026/7/4 22:55:24 阅读更多 →
Springboot中SLF4J详解

Springboot中SLF4J详解

文章目录 Springboot中SLF4J详解 一、引言二、SLF4J基本概念 1、第一步:添加依赖2、第二步:配置日志 三、使用示例 1. 启动类配置2. 创建日志配置文件3. 创建控制器类4. 启动应用并测试 四、总结 Springboot中SLF4J详解 一、引言 在Java开发中&…

2026/7/4 9:02:13 阅读更多 →
基于Java+SSM+Flask社区人员管理系统(源码+LW+调试文档+讲解等)/社区服务/人员管理/系统软件/社区管理/居民信息/数据管理/安全控制/用户权限/社区工作人员/数字化管理/信息化平台

基于Java+SSM+Flask社区人员管理系统(源码+LW+调试文档+讲解等)/社区服务/人员管理/系统软件/社区管理/居民信息/数据管理/安全控制/用户权限/社区工作人员/数字化管理/信息化平台

博主介绍 💗博主介绍:✌全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2025-2026年最新1000个热门Java毕业设计选题…

2026/7/3 7:36:36 阅读更多 →

最新新闻

ChatGPT插件API密钥安全管理实战:从架构设计到自动化轮换

ChatGPT插件API密钥安全管理实战:从架构设计到自动化轮换

1. 项目概述:为什么ChatGPT插件密钥安全是生死线最近在折腾各种AI工具和插件,发现一个挺普遍但又被很多人忽视的问题:ChatGPT插件的API密钥管理。无论是自己开发插件,还是使用别人的,密钥泄露的风险都像悬在头顶的达摩…

2026/7/4 22:52:53 阅读更多 →
基于YOLOv8-seg的高精度道路缺陷检测系统开发

基于YOLOv8-seg的高精度道路缺陷检测系统开发

1. 项目背景与核心价值道路缺陷检测是智慧交通和市政养护领域的关键技术痛点。传统人工巡检方式存在效率低、漏检率高、主观性强等问题,尤其在夜间或恶劣天气条件下表现更差。我们团队基于YOLOv8-seg框架,融合EfficientRepBiPAN、AFPN-P345等50余项创新改…

2026/7/4 22:50:52 阅读更多 →
AI技术决策指南:从信息过载到可执行落地

AI技术决策指南:从信息过载到可执行落地

1. 项目概述:一份AI领域 Newsletter 的真实价值拆解“This AI newsletter is all you need #60”——看到这个标题,你第一反应可能是:又一份泛泛而谈的AI资讯合集?点开就看三行摘要、五个链接、一个ChatGPT新插件预告,…

2026/7/4 22:46:48 阅读更多 →
TC78H660FTG与PIC18F86J10的直流电机驱动优化方案

TC78H660FTG与PIC18F86J10的直流电机驱动优化方案

1. 项目背景与核心器件选型在工业自动化和消费电子领域,直流电机驱动系统的效率优化一直是工程师面临的关键挑战。TC78H660FTG作为东芝新一代H桥驱动器,与Microchip的PIC18F86J10微控制器组合,为解决这一问题提供了高性价比方案。TC78H660FTG…

2026/7/4 22:46:48 阅读更多 →
AntiDupl终极指南:三步快速清理重复照片,释放磁盘空间

AntiDupl终极指南:三步快速清理重复照片,释放磁盘空间

AntiDupl终极指南:三步快速清理重复照片,释放磁盘空间 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl AntiDupl是一款专业的开源图片去重工具&a…

2026/7/4 22:42:44 阅读更多 →
基于STM32和MAX9744的高效D类音频放大器设计

基于STM32和MAX9744的高效D类音频放大器设计

1. 项目背景与核心器件选型在音频系统设计中,功率放大环节直接决定了最终的声音表现。传统AB类放大器虽然音质优秀,但效率普遍低于50%,导致发热严重、能耗高。而D类放大器采用PWM调制技术,理论效率可达90%以上,特别适合…

2026/7/4 22:40:42 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻