根据 OpenAPI/Swagger 定义生成 API 客户端 SDK、服务端桩代码和文档的命令行工具。
openapi-ts/openapi-typescript
从 OpenAPI 3 规范生成 TypeScript 类型,并提供基于这些类型的类型安全请求客户端。
- Star
- 8,428
- Fork
- 675
- 未关闭 Issue
- 287
- 最近提交
- 上个月
这是什么?
openapi-typescript 是一个包含两个子包的 monorepo,用于在 TypeScript 中处理 OpenAPI 规范。主包 openapi-typescript 可以把静态的 OpenAPI 3 规范转换为 TypeScript 类型定义,让请求路径、参数和响应体在编译期就能被检查,无需手动编写。
另一个子包 openapi-fetch 是一个轻量的 fetch 封装,基于生成的类型工作。请求和响应都会按照接口规范进行类型约束,客户端代码与 API 定义不一致时会直接以 TypeScript 错误的形式暴露出来。
该项目适合已经维护 OpenAPI 描述文件、希望获得类型化客户端代码而不想手写维护的前端和全栈团队。
核心功能
- 01将静态 OpenAPI 3 规范转换为 TypeScript 类型定义。
- 02提供 openapi-fetch,基于生成的类型实现类型化的 fetch 客户端。
- 03在编译期发现客户端调用与 API 定义之间的不一致。
- 04支持 OpenAPI 3.1 规范。
适用场景
- 根据后端提供的 OpenAPI 文件,为前端应用生成类型化的 API 模型。
- 为现有 REST API 构建类型安全的 fetch 客户端。
- 在 CI 中让客户端类型与不断变化的 API 规范保持同步。
快速上手
- 1
从 npm 安装 openapi-typescript
npm i -D openapi-typescript typescript - 2
从 OpenAPI schema 生成类型
npx openapi-typescript https://petstore3.swagger.io/api/v3/openapi.json -o ./petstore.d.ts
标签
常见问题
- openapi-typescript 是什么?
- 从 OpenAPI 3 规范生成 TypeScript 类型,并提供基于这些类型的类型安全请求客户端。 openapi-typescript 是一个包含两个子包的 monorepo,用于在 TypeScript 中处理 OpenAPI 规范。主包 openapi-typescript 可以把静态的 OpenAPI 3 规范转换为 TypeScript 类型定义,让请求路径、参数和响应体在编译期就能被检查,无需手动编写。
- openapi-typescript 可以免费使用吗?用的什么许可证?
- openapi-typescript 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- openapi-typescript 还在维护吗?
- 半年内有更新。openapi-typescript 最近一次提交是在 2026年9月25日。
- openapi-typescript 适合用来做什么?
- 根据后端提供的 OpenAPI 文件,为前端应用生成类型化的 API 模型。 为现有 REST API 构建类型安全的 fetch 客户端。 在 CI 中让客户端类型与不断变化的 API 规范保持同步。
- openapi-typescript 怎么安装和运行?
- 从 npm 安装 openapi-typescript: npm i -D openapi-typescript typescript 从 OpenAPI schema 生成类型: npx openapi-typescript https://petstore3.swagger.io/api/v3/openapi.json -o ./petstore.d.ts
- 在哪里获取 openapi-typescript?
- 源代码和安装说明在 GitHub 上:https://github.com/openapi-ts/openapi-typescript
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个 Go 命令行工具和库,根据 OpenAPI 3.0/3.1 规范生成服务端框架代码、API 客户端和数据模型。
开源的 OpenAPI/Swagger 工具集,提供交互式 API 文档、离线优先的 API 客户端和多种 Web 框架集成。
根据 OpenAPI 规范自动生成多种语言的 API 客户端 SDK、服务端桩代码和文档。
Java 库,通过注解和 JAX-RS 接口自动生成 OpenAPI 规范文档,支持 OpenAPI 3.x。
面向 .NET、ASP.NET Core 与 TypeScript 的 Swagger/OpenAPI 工具链,可从控制器生成接口文档并生成客户端代码。