Orval 客户端封装
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_922b1001/orval-wrap。
技能介绍
要解决的具体问题
TypeScript 项目调用外部 API 时,手写封装很容易和后端接口定义脱节:字段名拼错、参数类型缺失、请求体结构靠注释维护,接口变更后调用方没有及时更新。OpenAPI Schema 通常已经描述了路径、参数、响应和模型,但如果只把它当作文档,而不是生成客户端的依据,联调与回归成本会持续存在。
技能如何工作
Orval Wrap 面向 TypeScript 客户端封装场景,核心思路是基于 OpenAPI Schema 自动生成类型安全调用封装。它从接口定义中提取路径、请求参数、请求体、响应结构和数据模型,转换为更贴近项目代码的 TypeScript 客户端包装,减少手写 fetch、axios 或业务 wrapper 时的字段硬编码。由于生成过程围绕 schema 展开,它更适合放入构建、代码生成或自动化流程,让接口变更能更集中地反映到客户端代码中。
适用边界与注意点
该技能的价值取决于 OpenAPI Schema 的完整性和一致性。如果 schema 缺少动态字段、命名不规范,或后端实际响应与文档不一致,生成出来的类型和调用封装也会随之不完整。它主要用于客户端封装生成,不替代后端代理、运行时接口发现、业务状态管理或权限层设计。生成产物仍应纳入代码审查,确认命名、请求选项、错误处理方式和项目风格匹配后再合入。
使用场景
- 后端提供 OpenAPI Schema,前端要把接口字段和响应类型同步到代码中
- 重构旧项目手写 Axios 调用,减少请求体字段硬编码和类型遗漏
- 把 OpenAPI 文档接入 CI,生成统一客户端封装供服务调用
- 联调时核对请求参数和响应结构,避免接口变更后客户端未更新
适合人员
- 想把 OpenAPI Schema 转成类型安全封装的前端工程师
- 希望用自动化生成替代手写 API 调用的全栈开发者
- 负责接口联调和类型维护的平台工程师
- 在 CI 中统一生成客户端代码的 DevOps 工程师