重要公告
[!重要] 请将您的项目迁移到使用 @hey-api/openapi-ts
由于我个人时间有限,这个项目已经有一段时间没有维护了。@hey-api/openapi-ts
项目最初是作为一个分支,目标是解决最紧迫的问题。今后他们计划维护 OpenAPI 生成器并给予应有的关注。请支持他们的工作,确保迁移您的项目:https://heyapi.vercel.app/openapi-ts/migrating.html
- 所有未处理的 PR 和问题将于 2024 年 5 月 1 日归档
- 此包的所有版本将在 NPM 中被弃用
👋 感谢所有的支持、下载和喜爱!干杯,Ferdi。
OpenAPI Typescript 代码生成器
基于 OpenAPI 规范生成 Typescript 客户端的 Node.js 库。
为什么选择它?
- 前端 ❤️ OpenAPI,但我们不想在构建中使用 JAVA 代码生成
- 快速、轻量、强大且框架无关 🚀
- 支持生成 TypeScript 客户端
- 支持生成 Fetch、Node-Fetch、Axios、Angular 和 XHR HTTP 客户端
- 支持 OpenAPI 规范 v2.0 和 v3.0
- 支持 JSON 和 YAML 格式的输入文件
- 支持通过 CLI、Node.js 和 NPX 进行生成
- 支持 tsc 和 @babel/plugin-transform-typescript
- 支持请求中止(可取消的 Promise 模式)
- 使用 json-schema-ref-parser 支持外部引用
安装
npm install openapi-typescript-codegen --save-dev
使用方法
$ openapi --help
用法: openapi [选项]
选项:
-V, --version 输出版本号
-i, --input <value> OpenAPI 规范,可以是路径、URL 或字符串内容(必需)
-o, --output <value> 输出目录(必需)
-c, --client <value> 要生成的 HTTP 客户端 [fetch, xhr, node, axios, angular](默认: "fetch")
--name <value> 自定义客户端类名
--useOptions 使用选项而不是参数
--useUnionTypes 使用联合类型而不是枚举
--exportCore <value> 将核心文件写入磁盘(默认: true)
--exportServices <value> 将服务写入磁盘(默认: true)
--exportModels <value> 将模型写入磁盘(默认: true)
--exportSchemas <value> 将架构写入磁盘(默认: false)
--indent <value> 缩进选项 [4, 2, tab](默认: "4")
--postfixServices 服务名称后缀(默认: "Service")
--postfixModels 模型名称后缀
--request <value> 自定义请求文件的路径
-h, --help 显示帮助信息
示例
$ openapi --input ./spec.json --output ./generated
$ openapi --input ./spec.json --output ./generated --client xhr
文档
主要文档可以在 openapi-typescript-codegen/wiki 中找到
赞助商
如果您或您的公司使用 OpenAPI Typescript 代码生成器,请考虑赞助我。通过赞助,我可以腾出时间来关注这个项目!详情可以在这里找到:https://github.com/sponsors/ferdikoomen
如果您来自企业,正在寻找全面管理的 SDK 生成,请考虑我们的赞助商: