npm 包 swagger-api-generator 使用教程

阅读时长 11 分钟读完

前言

当我们需要请求某个接口时,通常需要对接口进行先定义。而对于定义一个接口文档,我们通常会使用类似于 swagger 这种工具来完成。然而,手动根据 swagger 文档编写接口请求代码会比较繁琐且容易出错。本文将介绍一种 npm 包叫做 swagger-api-generator,它可以根据 swagger 文档生成对应的接口请求代码,大大提高了开发效率。本文将介绍如何使用 swagger-api-generator 来生成接口请求代码。

安装

在项目根目录下执行以下命令安装 swagger-api-generator

安装之后,我们需要在项目根目录下创建 swagger.config.js 文件,并在文件中编写配置。

配置

在 swagger.config.js 文件中,我们需要首先引入 swagger-api-generator,然后配置 swagger.json 的路径和输出目录。举个例子,我们可以将 swagger.config.js 配置如下:

使用

执行以下命令即可生成接口请求代码:

执行完上述命令后,将在 ./generated 目录下生成与 swagger.json 对应的接口请求代码。

示例

我们以一个简单的示例来说明如何使用 swagger-api-generator。

接口请求地址:http://petstore.swagger.io/v2/swagger.json

config 配置:(保存为 swagger.config.js)

执行命令:

生成的接口请求代码:

-- -------------------- ---- -------
----- ----- - -----------------

----- ------ - -
  ---
   - ------ -- -------- ---
   -
   - ------ -------- ---- --- ------ ---- ----- -- -- ----- -- --- -----
   - -------- --------------------
   --
  ---------- -------- ------ -
    --- ------ - -
      ------- ------
      ---- -------
      -------- -
        --------- -------------------
        --------------- ------------------
      --
      ----- ----
    --

    ------ -------------
      -------------- ---------- -
        ------ --------------
      ---
  --
  ---
   - --- - --- --- -- --- -----
   -
   - ------ -------- ---- --- ------ ---- ----- -- -- ----- -- --- -----
   - -------- --------------------
   --
  ------- -------- ------ -
    --- ------ - -
      ------- -------
      ---- -------
      -------- -
        --------- -------------------
        --------------- ------------------
      --
      ----- ----
    --

    ------ -------------
      -------------- ---------- -
        ------ --------------
      ---
  --
  ---
   - ----- ---- -- ------
   -
   - ------ ------- ------ ------ ------ ---- ---- -- -- ---------- --- ------
   - -------- ---------------- ---- -- ----
   --
  ----------------- -------- -------- -
    --- ------ - -
      ------- ------
      ---- --------------------
      -------- -
        --------- ------------------
      --
      ------- -
        ------- ------ -- ------------- - - - ---------------- - ---------
      -
    --

    ------ -------------
      -------------- ---------- -
        ------ --------------
      ---
  --
  ---
   - ----- ---- -- ----
   -
   - ------ ------- ---- ---- -- ------ --
   - -------- ---------------- ---- -- ----
   --
  --------------- -------- ------ -
    --- ------ - -
      ------- ------
      ---- ------------------
      -------- -
        --------- ------------------
      --
      ------- -
        ----- ---- -- ----------- - - - -------------- - ---------
      -
    --

    ------ -------------
      -------------- ---------- -
        ------ --------------
      ---
  --
  ---
   - ---- --- -- --
   -
   - ------ --------- ----- -- -- --- -- ------
   - -------- ----------------- --- ------
   --
  ----------- -------- ------- -
    --- ------ - -
      ------- ------
      ---- ------- - ------
      -------- -
        --------- ------------------
      -
    --

    ------ -------------
      -------------- ---------- -
        ------ --------------
      ---
  --
  ---
   - ------ -- -------- ----- ---- --- ------
   -
   - ------ --------- ----- -- -- --- ---- ----- -- -- -------
   - ------ -------- ---- ------- ---- -- --- --- ----------
   - ------ -------- ------ ------- ------ -- --- --- ----------
   - -------- --------------------
   --
  ------------------ -------- ------- ----- ------- -
    --- ---- - --- -----------
    -- ----- --- ---------- -
      ------------------- ------
    -
    -- ------- --- ---------- -
      --------------------- --------
    -

    --- ------ - -
      ------- -------
      ---- ------- - ------
      -------- -
        --------------- ---------------------
      --
      ----- ----
    --

    ------ -------------
      -------------- ---------- -
        ------ --------------
      ---
  --
  ---
   - ------- - ---
   -
   - ------ --------- ----- --- -- -- ------
   - ------ -------- ------ --- --- ------
   - -------- --------------------
   --
  ---------- -------- ------- ------- -
    --- ------ - -
      ------- ---------
      ---- ------- - ------
      -------- -
        --------- -------------------
        ---------- ------
      -
    --

    ------ -------------
      -------------- ---------- -
        ------ --------------
      ---
  --

  ---
   - ------ --- -----
   -
   - ------ --------- ----- -- -- --- -- ------
   - ------ -------- ------------------ ---------- ---- -- ---- -- ------ ----------
   - ------ ------ ---- ---- -- ------
   - -------- --------------------
   --
  ----------- -------- ------- ------------------- ----- -
    --- ---- - --- -----------
    -- ------------------- --- ---------- -
      --------------------------------- --------------------
    -
    -- ----- --- ---------- -
      ------------------- ------
    -

    --- ------ - -
      ------- -------
      ---- ------- - ----- - ---------------
      -------- -
        --------------- ---------------------
      --
      ----- ----
    --

    ------ -------------
      -------------- ---------- -
        ------ --------------
      ---
  -
--

-------------- - -------

以上就是使用 swagger-api-generator 生成的对应接口请求代码。通过使用该方法,我们可以省去手动根据 swagger 文档编写请求代码的繁琐流程,只需要配置好 swagger-api-generator,然后根据 swagger.json 文件生成对应的请求代码即可。

结语

swagger-api-generator 可以更为快捷方便地根据 swagger.json 文件生成对应的请求代码。希望本文能够对使用 swagger-api-generator 的同学有所帮助。

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

纠错
反馈