关键信息
- 分类
- 开发与 Web
- 输入类型
- textarea
- 输出类型
- html
- 样本覆盖
- 4
- 支持 API
- Yes
概览
API 破坏性变更检测与迁移规划器是一款专为研发团队设计的 OpenAPI 3.x 差异对比工具。通过输入新旧两份 Schema 文档,它能精准识别出删除字段、类型收紧、新增必填项等可能导致旧版客户端崩溃的高风险变更(Breaking Changes)。工具不仅会输出直观的差异对比,还会自动生成影响评级与具体的迁移建议,帮助团队在 API 发版前规避兼容性风险,保障上下游服务的平稳过渡。
适用场景
- •API 版本迭代或重构发版前,需要评估对现有客户端的兼容性影响时。
- •团队进行微服务接口合并或拆分,需排查请求参数和响应结构是否发生破坏性改变时。
- •编写 API 变更日志(Changelog)并为下游开发者制定接口迁移指南时。
工作原理
- •在“旧版 OpenAPI Schema”输入框中粘贴当前线上版本的 YAML 或 JSON 格式文档。
- •在“新版 OpenAPI Schema”输入框中粘贴即将发布的最新版本文档。
- •工具将解析并对比两份 Schema,深度检测路径、请求体、响应结构及数据类型的变更。
- •最终生成一份 HTML 报告,按影响程度对破坏性变更进行分类,并提供相应的迁移策略。
使用场景
用户案例
1. 识别请求体变更为必填项
后端开发工程师- 背景原因
- 团队在重构用户创建接口时,为了数据完整性,决定强制要求客户端传入角色信息。
- 解决问题
- 需要确认将 requestBody 改为必填,并在其中新增必填字段 role 会对旧版客户端造成什么影响。
- 如何使用
- 将旧版 `/users` 接口的 Schema 填入旧版输入框,将包含 `required: true` 和 `required: [name, role]` 的新版 Schema 填入新版输入框并执行对比。
- 效果
- 工具检测到 requestBody 从非必填变为必填,且新增了必填字段 role,将其标记为高风险破坏性变更,并建议在当前版本保持非必填,在下一个大版本再强制要求。
2. 拦截响应字段删除风险
API 架构师- 背景原因
- 某微服务接口在优化响应体积时,移除了部分被认为“不再使用”的冗余字段。
- 解决问题
- 担心下游某些老旧系统仍在依赖这些被删除的字段,导致解析报错或业务逻辑异常。
- 如何使用
- 粘贴新旧两份 OpenAPI 文档进行对比,重点关注 responses 对象的差异报告。
- 效果
- 报告清晰列出 200 响应体中 name 字段被移除,提示此为严重破坏性变更,建议先使用 `@deprecated` 标记该字段而非直接删除。
用 Samples 测试
development常见问题
支持哪些版本的 OpenAPI 规范?
目前主要支持 OpenAPI 3.x(包括 3.0 和 3.1)版本的 YAML 或 JSON 格式文档对比。
什么是 API 的破坏性变更(Breaking Change)?
指可能导致现有客户端请求失败或解析错误的变更,例如删除已有响应字段、更改字段数据类型、或将非必填请求参数改为必填。
工具能检测出新增的非必填字段吗?
新增非必填字段通常属于向后兼容的安全变更。工具在对比时会将其识别为新增项,但不会将其标记为破坏性变更,从而让您聚焦于高风险项。
报告中的“影响评级”是如何划分的?
评级基于变更对客户端的破坏程度。例如,删除核心响应字段或新增必填请求参数为高风险;而修改字段描述或增加可选参数则为低风险或无风险。
输入的 Schema 数据会保存在服务器上吗?
不会。所有的 Schema 解析和对比处理均在安全的临时环境中完成,不会持久化存储您的 API 文档数据。