随着互联网的不断发展,前端技术也日益发展壮大。如今,前端技术已经发展成为一个包罗万象的综合性学科。在前端开发中,使用 npm 包已经是一种十分常见的做法。而其中一个十分实用的 npm 包就是 @mean-expert/openapi-sdk-builder。
什么是 @mean-expert/openapi-sdk-builder
@mean-expert/openapi-sdk-builder 是一个可以轻松构建 OpenAPI/Swagger SDK 的 npm 包。其通过读取 OpenAPI/Swagger 规范的 JSON 文件,将其转化为参数验证和类型安全的 TypeScript SDK。
@mean-expert/openapi-sdk-builder 的主要特点包括:
- 使用 TypeScript 编写,具有优秀的类型安全性。
- 支持多语言,可以生成 TypeScript、Java 和 Python 三种语言的 SDK。
- 高度可定制化,可以根据业务需求进行修改或扩展。
如何使用 @mean-expert/openapi-sdk-builder
下面,我将为大家详细介绍如何使用 @mean-expert/openapi-sdk-builder。
安装 @mean-expert/openapi-sdk-builder
在开始使用 @mean-expert/openapi-sdk-builder 之前,您需要先安装它。您可以通过以下命令在您的项目中安装 @mean-expert/openapi-sdk-builder:
npm install @mean-expert/openapi-sdk-builder --save
编写 OpenAPI/Swagger 规范的 JSON 文件
在使用 @mean-expert/openapi-sdk-builder 时,您需要先准备好 OpenAPI/Swagger 规范的 JSON 文件。如果您还没有这样的文件,可以通过 Swagger Editor 来进行创建。在 Swagger Editor 中,您可以定义您的 API,设置参数和返回值类型,并生成规范的 JSON 文件。
以一个简单的计算器 API 为例,下面是该 API 的 OpenAPI 规范的 JSON 文件:
-- -------------------- ---- ------- - ---------- -------- ------- - -------- ----------- ----- ---------- ------- -- -------- - ----------- - ------- - -------------- ------------- -------------- - ---------- - ------------------- - --------- - ------- --------- ----------- - ------- ------ -- ------------- - ------- - ------- -------- -- ------- - ------- -------- - - - - - -- ------------ - ------ - -------------- ---- --- -- --- --- --------- ---------- - ------------------- - --------- - ------- --------- ----------- - -------- -- ------------- - --------- - ------- -------- - - - - - - - - -- ---------------- - ------- - -------------- ------------------ -------------- - ---------- - ------------------- - --------- - ------- --------- ----------- - ------- ------ -- ------------- - ------- - ------- -------- -- ------- - ------- -------- - - - - - -- ------------ - ------ - -------------- ---- ---------- -- --- --- --------- ---------- - ------------------- - --------- - ------- --------- ----------- - -------- -- ------------- - --------- - ------- -------- - - - - - - - - - - -
在上面的 JSON 文件中,我们定义了一个具有两个方法的计算器 API。其中,addNumbers
方法可以将两个数字相加,subtractNumbers
方法可以将两个数字相减。
使用 @mean-expert/openapi-sdk-builder 生成 SDK
在准备好 OpenAPI/Swagger 规范的 JSON 文件之后,我们可以使用 @mean-expert/openapi-sdk-builder 自动生成 SDK。
在您的项目中创建一个 TypeScript 文件,命名为 generate-sdk.ts
。然后,将以下代码复制到 generate-sdk.ts
文件中:
-- -------------------- ---- ------- ------ - ------------------ - ---- ----------------------------------------------------- ------ - ------- -------------- - ---- ----------------------------------- ----- ------------------- - -------------------------------------------------------- --------------------- ---------- ------------------ -------------- ------------------- ---------- ------------------------------ -- ------------- ----- ----------- - --- ----- ------ - --- -------------------------- -------------- ----- ------ - --- --------------- ----------------- ----------- -- - ----------------- -- ------------ -- - ----------------- ---
在上述代码中,我们首先使用 OpenAPI-CLI 生成器,根据 OpenAPI 规范的 JSON 文件生成了一个 TypeScript Axios SDK。随后,我们使用 @mean-expert/openapi-sdk-builder 将其封装成了一个易于使用的 DAO(数据访问对象),并调用了其中的 getTodos
方法。
在上面的代码中,配置项中的 inputSpec
指定了您的 OpenAPI 规范的 JSON 文件所在的路径。即我们之前创建的 api-spec.json
文件。此外,outputDir
指定了生成的 TypeScript Axios SDK 代码所在的目录。
运行 generate-sdk.ts
在您的终端中,运行以下命令来生成并运行 SDK:
ts-node generate-sdk.ts
如果一切顺利,您应该能够在命令行窗口中看到如下输出:
{ data: [ { id: 1, title: 'Todo 1', completed: false }, { id: 2, title: 'Todo 2', completed: false }, { id: 3, title: 'Todo 3', completed: false }, { id: 4, title: 'Todo 4', completed: false }, { id: 5, title: 'Todo 5', completed: false } ] }
根据业务需求修改或扩展 SDK
上面的示例仅仅是使用 @mean-expert/openapi-sdk-builder 的基础操作,您可以根据自己的业务需求对其进行修改或扩展。
例如,如果您想要将生成的 TypeScript Axios SDK 转换为 Java SDK,在上述代码中,只需要将 generatorName
修改为 java
,outputDir
修改为该 Java SDK 代码所在的目录,再使用 Maven 或 Gradle 打包即可。
结论
通过以上教程,您应该已经学会了如何使用 @mean-expert/openapi-sdk-builder。在以后的前端开发中,使用 npm 包将会变得十分常见,当您遇到类似任务时,相信这个 npm 包一定能为您带来许多便利。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005596c81e8991b448d6f21