项目介绍:OpenAPI TypeScript Codegen
OpenAPI TypeScript Codegen 是一个基于 OpenAPI 规范的 Node.js 库,该库的主要功能是自动生成 TypeScript 客户端代码。它为开发者提供了一种快速、轻量且与框架无关的解决方案,避免了在构建过程中使用 Java 编码生成工具。
项目的由来
在当前技术环境下,前端开发社区普遍青睐使用 OpenAPI 制定接口规范。然而,许多开发团队并不愿意在项目中引入繁重的 Java 生成工具。OpenAPI TypeScript Codegen 的出现,正是为了解决这一痛点,提供了一种更加轻量且高效的代码生成方式。
项目的目标是通过命令行工具(CLI)、Node.js 或者 NPX 支持 TypeScript 客户端的生成,并支持多种 HTTP 客户端,如 Fetch、Node-Fetch、Axios、Angular 和 XHR。
项目特点
- 多种协议支持:支持 OpenAPI v2.0 和 v3.0 规范。
- 文件格式:支持 JSON 和 YAML 格式的输入文件。
- 生成灵活:允许通过不同方式生成,如 CLI、Node.js 环境和使用 NPX。
- 请求中止能力:支持请求的中止,通过可取消的 Promise 模式实现。
- 外部引用:通过 json-schema-ref-parser 支持外部引用。
- 多种客户端:可为不同的 HTTP 客户端生成代码,包括 Fetch、Axios、Angular 等。
- 多种配置选项:支持通过定制缩进、文件结构、命名后缀等进行个性化配置。
安装与使用
使用 npm 安装 openapi-typescript-codegen 非常简单,只需执行以下命令:
npm install openapi-typescript-codegen --save-dev
安装完成后,便可以通过 CLI 使用工具来快速生成代码。使用示例如下:
$ openapi --input ./spec.json --output ./generated
该命令将根据 spec.json
文件生成 TypeScript 客户端代码,并将其输出到 generated
文件夹中。通过其他命令参数,可以定制化生成的HTTP客户端、文件结构等。
未来发展
由于项目维护者时间有限,openapi-typescript-codegen 项目的维护已经停止,建议大家迁移至 [@hey-api/openapi-ts] 项目。新的项目将会专注于解决现有的重要问题,并继续对 OpenAPI 生成器进行维护和更新。
当前开源的所有请求和问题将在 2024 年 5 月 1 日之前被存档,所有相关软件包版本将在 NPM 上被弃用。因此,请广大用户尽快完成项目迁移。
致谢
感谢所有曾支持、下载和使用 OpenAPI TypeScript Codegen 的用户与开发者们,你们的支持是项目成长的重要动力!
总之,OpenAPI TypeScript Codegen 是一款功能强大的工具,帮助开发者们快速生成与 OpenAPI 规范相兼容的 TypeScript 客户端代码,适用于现代软件开发的各种需求。