接口变更对照
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-bdsaqtei--openapi-diff.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-bdsaqtei/openapi-diff。对照两份 OpenAPI JSON,找出删除的路径和方法、新增必填字段、类型或枚举变化,标出对调用方不兼容的变更。接口变更、API对比、破坏性变更、OpenAPI diff、版本升级时用。
阅读全文 (展开查看完整说明)
概述
只对用户自己仓库或团队的接口文档。别人的未授权规格不要拿来比。
这不是网关发布,也不改线上。
步骤
两份规格只在这台电脑上比,用自带脚本。--out 用相对路径,默认写成 api-out/result.json 和 api-out/report.md。
1. 收齐新旧 OpenAPI
用 OpenAPI 3 的 JSON。YAML 先转成 JSON。只比 paths 和每个操作的请求体、必填、参数。
两边 path 参数写法要一致:/users/{id} 和 /users/{userId} 会当成两条。先统一再比。
破坏性规则见 [references/breaking.md](references/breaking.md)。
2. 跑脚本
python scripts/diff.py
--old path/to/old.json
--new path/to/new.json
--out api-out删了哪些路径、哪些字段变成必填,以脚本为准。
3. 结果怎么处理
PATH_REMOVED/METHOD_REMOVED:调用方会 404。发迁移说明或留兼容期REQUIRED_ADDED:老客户端不传会 400。新字段给默认值,或开新版本号TYPE_CHANGED/ENUM_REMOVED:按破坏性处理,先兼容读两边PATH_ADDED/OPTIONAL_ADDED:兼容,写进更新日志即可
没有破坏性变更才能当补丁版。有破坏性就升主版本,并列出调用方要改的字段。
4. 报告
# 接口变更
- 旧版 / 新版:
- 破坏性:
- 兼容新增:
## 破坏性清单
| 分类 | 路径 | 方法 | 细节 |
| --- | --- | --- | --- |需要存档时写成 接口变更-v旧-v新.md。
更多例子见 [references/examples.md](references/examples.md)。