NEWS DETAIL

SpringDoc OpenAPI 配置

发布时间:2026/10/24 7:40:28 · 栏目:资讯中心

尧图网络原创建站知识分享正文
Swagger → SpringDoc 迁移span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-java !-- 移除旧的 Swagger 依赖 -- !-- dependency groupIdio.springfox/groupId artifactIdspringfox-swagger2/artifactId /dependency -- !-- 添加新的 SpringDoc 依赖 -- dependency groupIdorg.springdoc/groupId artifactIdspringdoc-openapi-starter-webmvc-ui/artifactId versionspan stylecolor:#b755012.3/spanspan stylecolor:#b75501.0/span/version /dependency /code/span/span配置示例span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-javaspan stylecolor:#015692Configuration/span span stylecolor:#015692OpenAPIDefinition/span span stylecolor:#015692public/span span stylecolor:#015692class/span span stylecolor:#b75501SwaggerConfig/span { span stylecolor:#015692Bean/span span stylecolor:#015692public/span OpenAPI span stylecolor:#b75501openAPI/span() { span stylecolor:#b75501OpenAPI/span span stylecolor:#54790dopenAPI/span span stylecolor:#ab5656/span span stylecolor:#015692new/span span stylecolor:#b75501OpenAPI/span(); openAPI.info(span stylecolor:#015692new/span span stylecolor:#b75501Info/span().title(span stylecolor:#54790dAPI 文档/span).version(span stylecolor:#54790d1.0/span)); span stylecolor:#656e77// 配置 Authorization 登录鉴权/span MapString, SecurityScheme map Map.of(span stylecolor:#54790dAuthorization/span, span stylecolor:#015692new/span span stylecolor:#b75501SecurityScheme/span() .type(SecurityScheme.Type.APIKEY) .in(SecurityScheme.In.HEADER) .name(span stylecolor:#54790dAuthorization/span)); openAPI.components(span stylecolor:#015692new/span span stylecolor:#b75501Components/span().securitySchemes(map)); map.keySet().forEach(key - openAPI.addSecurityItem(span stylecolor:#015692new/span span stylecolor:#b75501SecurityRequirement/span().addList(key))); span stylecolor:#015692return/span openAPI; } } /code/span/span注解对应关系Swagger 2.xSpringDoc OpenAPI 3.xApiTagApiOperationOperationApiParamParameterApiModelSchemaApiModelPropertySchema访问地址变更原 Swagger UI 地址http://localhost:8080/swagger-ui.html新 SpringDoc 地址http://localhost:8080/swagger-ui/index.html问题四依赖冲突与安全漏洞修复检测工具使用 IDEA 自带的依赖分析工具必须升级的依赖存在高危漏洞推荐使用OWASP Dependency-Check或Snyk扫描span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-shellmvn dependency-check:check /code/span/span解决依赖冲突的技巧问题Maven 依赖解析采用最短路径优先和第一声明优先原则可能导致旧版本覆盖新版本。解决方案显式声明期望的版本span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-javadependencies !-- 显式声明 Spring Framework 版本避免被传递依赖覆盖 -- dependency groupIdorg.springframework/groupId artifactIdspring-core/artifactId versionspan stylecolor:#b755016.1/spanspan stylecolor:#b75501.3/span/version /dependency /dependencies /code/span/span快速检测技巧在 IDEA 的 Maven 依赖树中搜索RELEASESpring 新版本已不使用RELEASE后缀搜索到的基本都是旧版本。问题五URL 尾斜杠匹配策略变更行为变化版本行为Spring Boot 2.x/api/user/get 和 /api/user/get/ 视为同一接口Spring Boot 3.x/api/user/get 和 /api/user/get/ 视为不同接口常见导致尾斜杠的情况Case 1类注解带尾斜杠span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-javaspan stylecolor:#015692RequestMapping(/api/user/)/span span stylecolor:#015692public/span span stylecolor:#015692class/span span stylecolor:#b75501UserController/span { span stylecolor:#015692PostMapping(login)/span span stylecolor:#656e77// 实际路径/api/user/login/span } /code/span/spanCase 2空字符串映射span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-javaspan stylecolor:#015692RequestMapping(/api/user)/span span stylecolor:#015692public/span span stylecolor:#015692class/span span stylecolor:#b75501UserController/span { span stylecolor:#015692PostMapping()/span span stylecolor:#656e77// 实际路径/api/user/带尾斜杠/span } /code/span/spanCase 3根路径映射span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-javaspan stylecolor:#015692PostMapping(/)/span span stylecolor:#656e77// 实际路径/带尾斜杠/span /code/span/span**** 检查方式IDEA Endpoints 工具窗口查看所有端点SpringDoc UI访问 Swagger 页面检查临时解决方案不推荐长期使用span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-javaspan stylecolor:#015692import/span org.springframework.context.annotation.Configuration; span stylecolor:#015692import/span org.springframework.web.servlet.config.annotation.PathMatchConfigurer; span stylecolor:#015692import/span org.springframework.web.servlet.config.annotation.WebMvcConfigurer; span stylecolor:#015692Configuration/span span stylecolor:#015692public/span span stylecolor:#015692class/span span stylecolor:#b75501WebConfiguration/span span stylecolor:#015692implements/span span stylecolor:#b75501WebMvcConfigurer/span { span stylecolor:#015692Override/span span stylecolor:#015692public/span span stylecolor:#015692void/span span stylecolor:#b75501configurePathMatch/span(PathMatchConfigurer configurer) { span stylecolor:#656e77// 设 置 为 true 以 忽 略 尾 斜 杠 恢 复 旧 版 本 行 为/span configurer.setUseTrailingSlashMatch(span stylecolor:#b75501true/span); } } /code/span/span注意__ ·setUseTrailingSlashMatch在 Spring 6.x 后已标记为废弃后续版本将删除。建议逐步修正所有端点去除尾斜杠。根本解决方案修正所有 Controller 的路径映射通知前端团队同步修改调用路径如果有硬编码的 URL全局搜索并修正使用测试确保前后端调用正常问题六Apache POI / EasyExcel 升级背景Apache POI 旧版本 5.0存在多个 CVE 安全漏洞必须升级。推荐方案对于新项目直接使用FastExcelspan stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-javadependency groupIdcn.idev.excel/groupId artifactIdfastexcel/artifactId versionspan stylecolor:#b755011.0/spanspan stylecolor:#b75501.0/span/version /dependency /code/span/span对于使用 EasyExcel 的旧项目span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-javadependency groupIdcom.alibaba/groupId artifactIdeasyexcel/artifactId versionspan stylecolor:#b755014.0/spanspan stylecolor:#b75501.3/span/version /dependency /code/span/span说明EasyExcel 已不再维护FastExcel 是社区维护的替代方案API 基本兼容。迁移注意事项EasyExcel 跨大版本升级2.x → 4.xAPI 变化较大主要改动1.监听器接口方法签名调整2.部分工具类包路径变更3.自定义转换器需要适配新接口建议参考官方迁移文档EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网问题七JDK 模块化限制--add-opens问题现象某些依赖库使用反射访问 JDK 内部 API在 JDK 9 模块化系统下会报错span stylecolor:#000000span stylebackground-color:#fefef2code classlanguage-javaInaccessibleObjectException: Unable to make field accessible: span stylecolor:#015692module/span java.base does not span stylecolor:#54790dopens java.net/span to unnamed span stylecolor:#015692module/span /code/span/span解决方案在 IDEA 运行配置中添加 VM 参数开启 VM 参数配置默认隐藏
✦

本文为尧图网络原创建站知识分享。想针对自身行业获取定制化建站方案?欢迎咨询,资深顾问免费为你出思路。

RELATED

相关 资讯推荐

MORE

更多 新鲜资讯

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析
2026/10/21 11:24:40

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析

1. 项目概述:从零开始,用JMeter搞定HTTP性能测试 刚接触性能测试的新手,或者是从功能测试转过来的朋友,一听到“压测”两个字,心里可能就有点发怵。工具那么多,概念那么杂,从哪儿下手呢&#xf…

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统
2026/10/22 18:46:31

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统

最近我用TypeScript写了一个运行在浏览器里的Web操作系统 Earendel(目前已知的距离地球最遥远的恒星)。开发它的初衷主要是为了Linux和操作系统课程的教学。市面上绝大多数Web OS项目,要么只是做了一个长得像Windows/macOS的网页UI拼盘&#…

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]
2026/10/19 6:46:54

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形🚀 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: http…

从零制作同人动画:技术路线、流程与实战避坑指南
2026/10/24 7:09:28

从零制作同人动画:技术路线、流程与实战避坑指南

1. 先搞清楚这个“粉丝动画”到底是什么,以及它能解决什么问题看到“五条悟VS宿傩/咒术回战粉丝动画”这个标题,很多人的第一反应可能是去找一个现成的视频。但如果你是一个想自己动手创作、或者想了解这类作品背后技术流程的创作者,这个标题…

闭源降价80%,开源却在涨价:AI定价的交叉路口
2026/10/23 15:38:44

闭源降价80%,开源却在涨价:AI定价的交叉路口

8月6日,两条价格曲线悄然交汇。 一条向下:OpenAI把GPT-5.6 Luna的输出价格从6美元砍到1.2美元/百万Token,降幅80%。另一条向上:同一天,DeepSeek公告全线涨价,措辞是"涨幅较大",非试探…

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买
2026/10/23 10:16:26

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买经常有工厂朋友拿着网上的"三防平板十大品牌排行榜"来问我:到底选哪个?说实话排行榜看看就行,真正选型得看你产线什么场景。今天挑五个在产线数字化里用得比较多的品牌—…

看完这篇,还想了解更多?

预约尧图网络顾问一对一沟通,针对你的行业与现状给出建站建议,全程免费。

免费咨询