关于 laravel:api-surface-evolution
一项介绍如何在 Laravel 中演进 API 并维持已发布客户端契约的技能,涵盖版本管理、DTO 转换、弃用流程和兼容性测试。
主要功能
- 01基于 URI 或请求头的版本管理
- 02版本化 DTO 与转换器
- 03弃用时间表与使用指标
- 04契约及向后兼容测试
适用场景
- 01新增 API 字段且不破坏客户端
- 02管理不同 API 版本中的弃用字段
- 03验证请求与响应契约
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jpcaparas/ superpowers-laravel --skill laravel:api-surface-evolution安装后在 Claude Code 中输入/laravel:api-surface-evolution确认已加载。
详细介绍
API 表面演进
面向变化进行设计,同时不破坏客户端。
版本策略
- 选择明确的版本控制方式(URI
/v1/...或通过请求头协商) - 默认采用增量式变更;绝不破坏已发布的契约
DTO 与转换器
- 定义带版本号的 DTO;通过转换器从模型/服务映射
- 保持控制器精简——校验 → 转换 → 响应
弃用
- 在文档和响应中(例如请求头)将字段标记为已弃用
- 提供停用时间表;添加指标以了解仍在使用的情况
测试
- 每个版本都进行契约测试(请求/响应结构)
- 针对常用流程进行向后兼容性测试
评论
支持 Markdown