用途:为现有 API 实现版本管理,支持 URL 路径(/v1/、/v2/)、请求头(Accept: application/vnd.api.v2+json)或查询参数(?version=2)三种策略,并维护向后兼容、弃用通知与迁移路径。
主要能力:审计现有端点并梳理请求/响应契约;创建版本路由中间件,按版本标识分发到对应处理器;按版本拆分控制器目录,将共享业务逻辑抽到与版本无关的服务层;构建兼容层,把旧版请求转换为新版格式、把新版响应转回旧版格式;为待下线版本添加 Deprecation、Sunset 与 Link 响应头;通过对比各版本 OpenAPI 规范检测被删除字段、类型变更、新增必填参数等破坏性变更;编写版本兼容性测试。
使用方式:先审计端点并选择版本策略,再创建版本路由与版本专属控制器,实现兼容层与弃用头,最后用 OpenAPI diff 工具检测破坏性变更并补充兼容性测试。输出包括各版本路由定义、版本路由中间件、兼容转换层、破坏性变更检测工具及迁移文档。
适用场景:需要同时维护多个 API 版本、逐步下线旧版本、为消费者提供平滑迁移路径的团队。
限制:需要已有 API 代码库、版本控制历史与各版本 OpenAPI 规范;基于请求头的版本策略可能受反向代理剥离自定义头影响;语义变化(字段名相同但含义不同)无法仅靠 schema diff 发现,需补充契约测试。具体实现细节与完整指南见技能目录下的 references 文档。