# OpenAPI 转 TypeScript 类型生成器

将 OpenAPI 或 Swagger 的 JSON/YAML 规范转换为 TypeScript 接口类型、请求参数类型和响应类型，并支持输出格式与命名风格配置

> 标准页面: https://elysiatools.com/zh/tools/openapi-to-typescript-generator

- **分类:** Development

- **关键词:** openapi, swagger, typescript, 类型生成, 接口定义, 代码生成

## 概述

OpenAPI 转 TypeScript 类型生成器是一款高效的开发工具，旨在帮助开发者将 OpenAPI 或 Swagger 规范（JSON/YAML）快速转换为类型安全的 TypeScript 接口、请求参数及响应模型，从而显著提升前后端联调效率并减少手动编写类型定义的工作量。

## 输入项

- **OpenAPI 规范** (textarea): Paste OpenAPI / Swagger JSON or YAML here...
- **源码格式** (select)
- **输出格式** (select)
- **命名风格** (select)
- **声明风格** (select)
- **命名空间名称** (text): Used when output format is namespace
- **包含接口操作类型** (checkbox)
- **包含描述注释** (checkbox)

## 适用场景

- 在项目初期根据后端提供的 OpenAPI 文档快速初始化前端 API 类型定义时。
- 当后端接口规范发生变更，需要同步更新前端 TypeScript 类型声明时。
- 在需要统一前后端数据契约，确保 API 调用类型安全与代码规范一致时。

## 工作原理

- 将 OpenAPI 或 Swagger 的 JSON/YAML 规范内容粘贴至输入框。
- 根据项目需求选择输出格式（扁平导出或命名空间）、命名风格及声明方式（Interface 或 Type）。
- 勾选是否包含接口操作类型及注释，点击生成即可获取对应的 TypeScript 代码。

## 使用案例

- 快速生成符合项目规范的 API 请求与响应类型定义。
- 在 TypeScript 项目中实现全链路的类型安全校验。
- 自动化维护前后端接口契约，减少因文档更新导致的手动修改错误。

## 常见问题

### 该工具支持哪些版本的 OpenAPI 规范？

支持 OpenAPI 3.0 及以上版本，同时也兼容常见的 Swagger 2.0 规范。

### 生成的类型支持哪些命名风格？

支持 PascalCase、camelCase 以及保留原样三种命名风格，方便适配不同的项目编码规范。

### 我可以选择生成 interface 还是 type 吗？

可以，工具提供了声明风格选项，支持在 interface 和类型别名（type）之间进行切换。

### 生成的代码是否包含原始文档中的注释？

是的，只要勾选“包含描述注释”选项，工具会自动将 OpenAPI 中的 description 字段转换为 TypeScript 的 JSDoc 注释。

### 如果接口定义非常复杂，生成的结果会乱吗？

工具支持“命名空间包裹”模式，可以将生成的类型组织在指定的命名空间内，有效避免全局命名冲突。

## 相关工具

- [OpenAPI 转 Postman Collection](https://elysiatools.com/zh/tools/openapi-to-postman-collection): 把 OpenAPI 3.x 或 Swagger 2.0 规范（JSON/YAML）转成可直接导入的 Postman Collection v2.1.0，含文件夹、变量、认证与示例响应。
- [JSON Schema 转 Zod Schema 转换器](https://elysiatools.com/zh/tools/json-schema-to-zod-schema-converter): 将标准 JSON Schema 的 JSON/YAML 定义转换为可直接在 TypeScript 项目中使用的 Zod 运行时校验代码，支持嵌套结构、数组、枚举和常见校验规则
- [WireGuard/OpenVPN 到 Clash 与 sing-box 配置桥接器](https://elysiatools.com/zh/tools/wireguard-openvpn-to-clash-singbox-bridge): 将粘贴的 WireGuard 或 OpenVPN 客户端文本转换为 Mihomo/Clash YAML 或 sing-box JSON，并报告密钥字段；请勿分享私钥
- [YAML-JSON转换器](https://elysiatools.com/zh/tools/yaml-json-converter): 在YAML和JSON格式之间转换
- [Data URI 生成器](https://elysiatools.com/zh/tools/data-uri-generator): 将文件转换为 Data URI（Base64 或百分号编码），用于直接在 HTML、CSS 或 Markdown 中内联图片、字体等资源
- [JSONata 查询转换工作室](https://elysiatools.com/zh/tools/jsonata-query-transform-studio): 预览 JSONata 风格查询与转换，支持多数据对比，并导出 JSON、CSV、YAML 或 Markdown。
- [TOML / INI / HCL / .env / Nix / dotenv / Kubernetes ConfigMap / Secret 配置格式桥](https://elysiatools.com/zh/tools/toml-ini-hcl-envfile-nix-dotenv-kubernetes-configmap-secret-config-format-bridge): 在 dotenv .env、TOML、INI、Java .properties、YAML、JSON、HCL（Terraform/Vagrant 原生语法）与 Nix 属性集之间转换配置，并可输出 Kubernetes ConfigMap / Secret 清单；保留 ${VAR} / {{var}} 模板占位符与 envsubst 风格插值、记录类型推断来源（string/int/float/bool/list）、HCL 块标签自动折叠为嵌套键，往返 diff 突出非等价设置（丢失键、类型变化、值改写），输出对 Kustomize 补丁友好的 YAML。
- [API 请求代码片段生成器](https://elysiatools.com/zh/tools/api-request-code-snippet-generator): 根据请求链接、方法、请求头、Query 参数和请求体生成 cURL 及常见开发语言的代码片段

## 示例

- [OpenAPI/Swagger 示例](https://elysiatools.com/zh/samples/openapi-swagger): 使用 OpenAPI 3.0 和 Swagger 规范的 RESTful 服务综合 API 文档示例
- [OpenAPI/Swagger 示例](https://elysiatools.com/zh/samples/openapi): OpenAPI/Swagger 规范示例，用于 REST API 文档和契约定义
- [Web TypeScript 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-typescript): Web TypeScript 图像处理示例，包括图像读取保存、缩放和格式转换
- [Grafana 高级应用示例](https://elysiatools.com/zh/samples/grafana-samples): 全面的 Grafana 示例，涵盖高级仪表板设计、告警配置、数据源集成和插件开发

## 相关内容

- [API 契约定义、Schema 校验与变更测试](https://elysiatools.com/zh/hubs/api-contract-testing): 定义 API 契约，校验 Schema 和已捕获载荷，识别兼容性风险，并记录测试验收结果。
- [OpenAPI 实用工作流](https://elysiatools.com/zh/hubs/openapi-utility): 从 OpenAPI 生成类型与文档，审查破坏性变更，校验响应，并用压力与变异测试加固契约。
