0Pricing
TypeScript Academy · 课时

OpenAPI 代码生成:自动生成类型

根据 OpenAPI 规范生成 TypeScript 类型

OpenAPI 代码生成:自动生成类型 是 CoddyKit 上的免费 TypeScript Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 TypeScript Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 TypeScript Academy 课程共包含 4 节课。

欢迎

OpenAPI 代码生成可以根据 API 规范生成 TypeScript 类型和客户端代码,从而无需手动维护类型。

为什么使用代码生成

为大型 API 手动编写类型容易出错,也容易与实际情况不同步。代码生成会从唯一事实来源——OpenAPI 规范——推导类型。

openapi-typescript

openapi-typescript 根据 OpenAPI 规范文件生成 TypeScript 类型。
npm install -D openapi-typescript
npx openapi-typescript ./api.yaml -o ./src/types/api.ts

生成的类型

该工具会生成路径、操作和 Schema 类型。
import type { paths } from './types/api';
type GetUserResponse = paths['/users/{id}']['get']['responses']['200']['content']['application/json'];

openapi-fetch 客户端

将 openapi-fetch 与生成的类型结合使用,即可获得完全带类型的客户端。
import createClient from 'openapi-fetch';
const client = createClient<paths>({ baseUrl: 'https://api.example.com' });
const { data, error } = await client.GET('/users/{id}', { params: { path: { id: 1 } } });

Swagger Codegen

Swagger Codegen 可以使用 TypeScript 生成完整的客户端 SDK。
npm install @openapitools/openapi-generator-cli -g
openapi-generator-cli generate -i api.yaml -g typescript-axios -o ./src/client

orval

orval 可以根据 OpenAPI 规范生成 React Query 钩子和 Zod Schema。
npm install -D orval
orval --input api.yaml --output src/api

保持类型同步

在 CI 中运行代码生成,以检测规范与生成类型之间的偏差。

以 Schema 为先的 API 开发

先定义 OpenAPI 规范,再生成类型和客户端代码,最后实现服务端。

使用生成类型的 MSW

将 Mock Service Worker 与生成的类型结合,在测试中实现类型安全的 API 模拟。

类型安全的 URL 构造

生成的客户端会强制检查正确的路径参数和查询字符串结构。

快速检查

使用 OpenAPI TypeScript 代码生成的主要优势是什么?

回顾

OpenAPI 代码生成:自动生成的类型:您已经掌握了关键概念和模式。

常见问题解答

「OpenAPI 代码生成:自动生成类型」课时是免费的吗?

是的 — 「OpenAPI 代码生成:自动生成类型」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 TypeScript Academy 课程的其余内容,请升级到 CoddyKit PRO。 TypeScript Academy 课程共包含 4 节课。

「OpenAPI 代码生成:自动生成类型」这节课中我会学到什么?

根据 OpenAPI 规范生成 TypeScript 类型 你通过在浏览器中直接运行的动手代码来练习 TypeScript Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 TypeScript Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 TypeScript Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「OpenAPI 代码生成:自动生成类型」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 TypeScript Academy 课中编写并运行代码吗?

能。每节 TypeScript Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用泛型包装器为 Fetch 响应添加类型
  2. 使用 Zod 进行运行时验证
  3. OpenAPI 代码生成:自动生成类型
  4. 类型安全的 tRPC 客户端概览
← 返回 TypeScript Academy