Repolode
openapi-ts

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. 1

    从 npm 安装 openapi-typescript

    npm i -D openapi-typescript typescript
  2. 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 数据每日更新。

相关项目