npm 包 @mean-expert/openapi-sdk-builder 使用教程

阅读时长 10 分钟读完

随着互联网的不断发展,前端技术也日益发展壮大。如今,前端技术已经发展成为一个包罗万象的综合性学科。在前端开发中,使用 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:

编写 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:

如果一切顺利,您应该能够在命令行窗口中看到如下输出:

根据业务需求修改或扩展 SDK

上面的示例仅仅是使用 @mean-expert/openapi-sdk-builder 的基础操作,您可以根据自己的业务需求对其进行修改或扩展。

例如,如果您想要将生成的 TypeScript Axios SDK 转换为 Java SDK,在上述代码中,只需要将 generatorName 修改为 javaoutputDir 修改为该 Java SDK 代码所在的目录,再使用 Maven 或 Gradle 打包即可。

结论

通过以上教程,您应该已经学会了如何使用 @mean-expert/openapi-sdk-builder。在以后的前端开发中,使用 npm 包将会变得十分常见,当您遇到类似任务时,相信这个 npm 包一定能为您带来许多便利。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005596c81e8991b448d6f21

纠错
反馈