Now vibe coding, so learning hammer FE ?
《Orval:从OpenAPI规范自动生成类型安全客户端代码》
标签:#前端 #全栈 #OpenAPI #TypeScript #CodeGeneration #ReactQuery #Swagger #APIClient
总结:
Orval 是一个代码生成工具,能读取 OpenAPI v3 或 Swagger v2 规范(支持 yaml 和 json 格式),自动生成带完整 TypeScript 类型签名的客户端代码。它支持 React Query、SWR、Vue Query、Svelte Query、Solid Query、Angular、Hono、Zod、原生 fetch 和 MCP 等多种框架与库,同时还能生成模型、请求函数、Hooks 和 Mock 数据。项目提供在线 Playground 快速体验,开发时使用 Bun 构建,社区活跃且有赞助支持。
文章要点:
1. Orval 的核心能力是从 OpenAPI / Swagger 文档一键生成类型安全的 TS 客户端,告别手写接口代码的繁琐工作
2. 生态支持非常全面,覆盖了 React、Vue、Svelte、Solid、Angular 等主流前端框架,还有 React Query、SWR 等数据获取方案
3. 不只是生成请求函数,还能顺带产出数据模型(Models)、React Hooks、以及用于测试的 Mock 数据,一条龙服务
4. 项目内置了在线 Playground,不用安装就能上手体验,对新手和想快速验证的同学很友好
5. 开发侧使用 Bun 作为包管理工具,测试流程完善,包含单元测试、快照测试和 CLI 验证
URL:https://github.com/orval-labs/orval
标签:#前端 #全栈 #OpenAPI #TypeScript #CodeGeneration #ReactQuery #Swagger #APIClient
总结:
Orval 是一个代码生成工具,能读取 OpenAPI v3 或 Swagger v2 规范(支持 yaml 和 json 格式),自动生成带完整 TypeScript 类型签名的客户端代码。它支持 React Query、SWR、Vue Query、Svelte Query、Solid Query、Angular、Hono、Zod、原生 fetch 和 MCP 等多种框架与库,同时还能生成模型、请求函数、Hooks 和 Mock 数据。项目提供在线 Playground 快速体验,开发时使用 Bun 构建,社区活跃且有赞助支持。
文章要点:
1. Orval 的核心能力是从 OpenAPI / Swagger 文档一键生成类型安全的 TS 客户端,告别手写接口代码的繁琐工作
2. 生态支持非常全面,覆盖了 React、Vue、Svelte、Solid、Angular 等主流前端框架,还有 React Query、SWR 等数据获取方案
3. 不只是生成请求函数,还能顺带产出数据模型(Models)、React Hooks、以及用于测试的 Mock 数据,一条龙服务
4. 项目内置了在线 Playground,不用安装就能上手体验,对新手和想快速验证的同学很友好
5. 开发侧使用 Bun 作为包管理工具,测试流程完善,包含单元测试、快照测试和 CLI 验证
URL:https://github.com/orval-labs/orval
《人生苦短,何必手写 API 类型:OpenAPI 驱动的 React 开发》
标签:#前端 #React #OpenAPI #TypeScript #Hey_API #MSW #Nanoquery #Contract_First
总结
本文是 Evil Martians 团队"契约优先"系列第三篇,介绍如何通过 OpenAPI 规范驱动 React 前端开发。核心思路是将 OpenAPI Spec 作为单一事实来源,利用 Hey API 自动生成 TypeScript 类型、SDK 客户端和 Zod 验证模式,配合 Nanostores 与 Nanoquery 实现类型安全的状态管理,并使用 MSW 在浏览器层面拦截网络请求进行模拟,实现前后端并行开发。当后端契约变更时,重新生成代码即可让 TypeScript 立即暴露所有需要更新的地方,避免生产环境出现类型不匹配错误。
文章要点:
- **手写 API 类型的痛点**:类型与后端脱节、缺乏运行时验证、重复样板代码、错误只能在生产环境发现
- **Hey API 自动生成**:通过
- **Nanostores + Nanoquery 状态管理**:将 API 数据视为全局状态存储在组件外,支持缓存、自动重取、跨组件共享,避免传统 Hooks 的数据获取陷阱
- **MSW 网络层模拟**:在浏览器层面拦截真实 HTTP 请求返回模拟数据,支持随机延迟、分页、过滤、错误场景,实现不依赖后端的功能开发
- **完整实战示例**:包含酒店管理系统代码,展示表单验证、CRUD 操作、路由集成、环境配置切换等完整开发流程
- **契约优先工作流**:后端更新 Spec → 前端重新生成 → TypeScript 报错定位 → 修复代码,确保集成一次成功
文章URL:https://evilmartians.com/chronicles/lifes-too-short-to-hand-write-api-types-openapi-driven-react
标签:#前端 #React #OpenAPI #TypeScript #Hey_API #MSW #Nanoquery #Contract_First
总结
本文是 Evil Martians 团队"契约优先"系列第三篇,介绍如何通过 OpenAPI 规范驱动 React 前端开发。核心思路是将 OpenAPI Spec 作为单一事实来源,利用 Hey API 自动生成 TypeScript 类型、SDK 客户端和 Zod 验证模式,配合 Nanostores 与 Nanoquery 实现类型安全的状态管理,并使用 MSW 在浏览器层面拦截网络请求进行模拟,实现前后端并行开发。当后端契约变更时,重新生成代码即可让 TypeScript 立即暴露所有需要更新的地方,避免生产环境出现类型不匹配错误。
文章要点:
- **手写 API 类型的痛点**:类型与后端脱节、缺乏运行时验证、重复样板代码、错误只能在生产环境发现
- **Hey API 自动生成**:通过
openapi-ts 从 OpenAPI Spec 生成 TypeScript 类型、SDK 函数、Zod 验证模式和客户端配置,实现编译时与运行时双重安全- **Nanostores + Nanoquery 状态管理**:将 API 数据视为全局状态存储在组件外,支持缓存、自动重取、跨组件共享,避免传统 Hooks 的数据获取陷阱
- **MSW 网络层模拟**:在浏览器层面拦截真实 HTTP 请求返回模拟数据,支持随机延迟、分页、过滤、错误场景,实现不依赖后端的功能开发
- **完整实战示例**:包含酒店管理系统代码,展示表单验证、CRUD 操作、路由集成、环境配置切换等完整开发流程
- **契约优先工作流**:后端更新 Spec → 前端重新生成 → TypeScript 报错定位 → 修复代码,确保集成一次成功
文章URL:https://evilmartians.com/chronicles/lifes-too-short-to-hand-write-api-types-openapi-driven-react