简介
@progresso/openapi-typescript-client-api-generator 是一款 TypeScript 客户端 API 生成器,用于根据 OpenAPI 规范生成客户端代码。它可以方便的将 OpenAPI 定义自动生成为 TypeScript 类型定义并生成可重用的 API 呼叫代码。
本文将简要介绍如何使用 @progresso/openapi-typescript-client-api-generator 生成 TypeScript 客户端 API,并且给出详细的使用说明和示例代码。
安装
安装 @progresso/openapi-typescript-client-api-generator 的最简单方法是使用 npm:
npm install --save-dev @progresso/openapi-typescript-client-api-generator
使用方法
设定参数
首先需要设定包的配置参数,最简单的方法是通过参数文件(例如openapi.json
):
{ "apiUrl": "https://petstore.swagger.io/v2/swagger.json", "output": "./src/api", "modelName": "petStore", "className": "PetStoreApi", "options": {} }
参数含义如下:
- apiUrl: OpenAPI 定义文件的 url 地址。
- output: 自动生成客户端代码的目标目录。
- modelName: TypeScript 定义类的名称。这个用于 TypeScript 引用。
- className: 自动生成的客户端 API 类名。
- options: 用于配置 API 生成器的选项。
生成代码
接下来,我们可以运行代码生成器:
openapi-typescript-client-api-generator openapi.json
或者在 package.json 文件中,添加 Script 配置,以使用 npm 运行:
{ "scripts": { "generate": "openapi-typescript-client-api-generator openapi.json" } }
然后我们可以运行:
npm run generate
即可生成 TypeScript 客户端 API 代码。
示例代码
下面是一个简单的示例代码:
-- -------------------- ---- ------- ------ - ----------- - ---- ----------------- ------ - --- - ---- -------------------------------- -- --- ----------- -- ----- --- - --- -------------- -- -- ------- -- ---------- --------- ---------------- ------ --- ------------- ---- -- - ----------------- ---
这将打印出来 pet 的 JSON 结果。
选项
默认情况下,API 生成器将生成代码,以支持 Promise 和 fetch。但是可以通过 options 变量来更改它。例如:
-- -------------------- ---- ------- - --------- ---------------------------------------------- --------- ------------ ------------ ----------- ------------ -------------- ---------- - -------------- ------ ----------- ---- - -
有关 options 可用值的列表,请参考 openapi-generator。
总结
@progresso/openapi-typescript-client-api-generator 是一个方便的 TypeScript 客户端 API 生成器,可以通过 OpenAPI 规范自动生成 TypeScript 类型和代码。通过本文,我们可以学习如何使用它,以及如何利用其功能来自动生成并重复使用 API 呼叫代码。如果在使用中有任何问题,可以参考 GitHub 仓库 或者文档,希望本文对您有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006734f890c4f7277583818