npm 包 swagger-doc-parser 使用教程

在前后端分离的开发模式下,RESTful API 文档的编写和维护变得尤为重要。Swagger 是一款流行的 RESTful API 文档编写工具,其文档格式规范也广泛被采用。在 Node.js 中,可以使用“swagger-doc-parser”来解析 Swagger 文档,便于开发者快速地生成 API 数据。

安装

在 Node.js 项目中,可以使用 npm 包管理器轻松地安装 swagger-doc-parser:

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

使用说明

  1. 解析本地 Swagger 文档文件
----- ------ - ------------------------------
----- ----------- - -----------------

------------------------- ----- ---- -- -
  -- ----- -
    -------------------
  - ---- -
    -----------------
  -
---
  1. 解析 Swagger 文档 URL
----- ------ - ------------------------------
----- ---------- - ---------------------------------------------

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

使用示例

解析本地 Swagger 文档文件

假设我们有如下的 Swagger 文档文件 ./swagger.yaml

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

我们可以使用 swagger-doc-parser 解析该文档:

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

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

解析结果如下:

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

解析 Swagger 文档 URL

我们可以使用如下示例代码来解析 swagger.io 托管的 Petstore Swagger API 文档:

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

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

解析结果如下:

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

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

猜你喜欢

  • npm 包 strman.entitiesencode 使用教程

    在前端开发中,常常需要对字符串进行各种操作。其中一项常见的操作是将 HTML 实体编码。如果经常需要对字符串进行类似的操作,那么可以考虑使用 strman 包中的 entitiesencode 方法。

    2 年前
  • npm 包 create-react-app-extra 使用教程

    简介 create-react-app-extra 是一个基于 create-react-app 的扩展包,它提供了额外的功能和配置选项,使得创建 React 应用更加方便快捷。

    2 年前
  • npm 包 monad-sequence-promise 使用教程

    npm 包 monad-sequence-promise 使用教程 前言 在前端开发中,我们经常会遇到需要顺序执行多个异步操作的情况。面对这些异步操作,我们可以使用 Promise 来处理它们的状态,...

    2 年前
  • npm包@mrbatista/grunt-excel-as-json使用教程

    前言 随着互联网技术的不断发展,前端开发越来越受到重视。当今的前端开发人员需要掌握多种技能,其中一项非常重要的技能就是数据处理。在这个领域中,Excel是最常用的工具之一。

    2 年前
  • npm 包 nullornot 使用教程

    前言 在 JavaScript 编程中,我们经常需要判断一个变量是否为 null 或者 undefined,避免程序报错。在这种情况下,我们可以使用 null 或 undefined 的判断,但是在一...

    2 年前
  • npm 包 20-20-20-timer 使用教程

    前端开发是一项需要长时间盯着电脑屏幕进行的工作,长时间的眼部疲劳不但有可能引起视力问题,而且还很容易让人感到疲劳、无精打采。为了改善这一情况,我们可以使用一些工具或者技巧来保护我们的眼睛。

    2 年前
  • npm 包 Haiku-Random 使用教程

    Haiku-Random 是一款基于 npm 的前端类库,它能够随机生成俳句风格的句子。俳句的特点是 5-7-5 这种结构,意思是在一句话中分别有 5 个、7 个和 5 个音节。

    2 年前
  • npm 包 github-event-poller 使用教程

    在前端开发中,为了更好的协同开发和版本管理,我们通常会使用 GitHub 进行代码托管和管理。而 github-event-poller 是一款非常实用的 npm 包,能够帮助我们实时监控 GitHu...

    2 年前
  • npm 包 ember-cli-deploy-dist-zipper 使用教程

    前言 在前端开发中,部署是一个十分重要的环节。而在部署的过程中,压缩项目文件是必不可少的一步。在本文中,我们将会学习如何使用 npm 包 ember-cli-deploy-dist-zipper 来实...

    2 年前
  • npm 包 deserialize 使用教程

    在前端开发中,我们经常需要进行数据的序列化和反序列化操作,以便实现不同平台、不同系统间的数据传输和交互。 npm 包 deserialize 就是一个针对 JavaScript 对象的序列化和反序列化...

    2 年前
  • npm 包 calendrier-republicain 使用教程

    介绍 calendrier-republicain 是一个 JavaScript 的 npm 包,用于处理法兰西共和历。法兰西共和历是由法国共和国在1793年1月1日至1805年12月31日所实施的革...

    2 年前
  • npm 包 translitit-mkhedruli-georgian-to-ipa 使用教程

    前言 在前端开发过程中,我们经常需要处理多种语言,其中就包括需要将非拉丁字母文字转换成拉丁字母文字(例如将俄语、希伯来语、阿拉伯语等转化为英语)。这个过程通常被称为文字转换/翻译。

    2 年前
  • npm 包 dedupewebpackloader 使用教程

    在前端开发中,Webpack 是一个常用的打包工具。在使用过程中,经常会出现同一个 npm 包被多个模块所引用的情况。这时候,Webpack 会将此包在每个模块中都打包一遍,导致打包出来的文件变得过于...

    2 年前
  • npm 包 dependency-tree-alias-hack 使用教程

    前言 在前端开发中,我们经常需要使用 npm 包管理器来管理我们的项目依赖。而在一些复杂的项目中,我们可能会使用别名(alias)来更方便地引用我们的资源文件。但是,npm 包管理器并不支持使用别名来...

    2 年前
  • npm 包 ng-poller 使用教程

    介绍 ng-poller 是一个基于 AngularJS 的轮询库,它可以帮助开发人员轻松地对服务器的状态更新进行监控。它提供了可配置的轮询机制,可以设定轮询间隔、成功或失败时的动作以及轮询主题。

    2 年前
  • npm 包 domain-based-spellchecker 使用教程

    在前端开发过程中,拼写错误是一个常见的问题。为了避免这种错误发生,并提高前端开发的效率,我们可以使用 npm 包 domain-based-spellchecker 来进行拼写检查。

    2 年前
  • npm 包 ng2-typeahead-startswith 使用教程

    前言 在前端开发中,我们经常需要实现自动补全、下拉提示等功能,而这些功能往往需要用到一些库或插件。今天我们要介绍的是一个非常实用的 npm 包,它能够快速实现输入框的下拉提示功能,这就是 ng2-ty...

    2 年前
  • npm 包 @os33/gulp-rev 使用教程

    简介 @os33/gulp-rev 是一款针对 gulp 前端构建工具的插件,能够为文件添加 hash 值,避免版本更新后浏览器缓存的问题。 安装 --- ------- --------------...

    2 年前
  • npm 包 asui 使用教程

    随着前端技术的不断发展,我们常常需要使用各种组件、框架等去实现我们的需求。而 npm 包是当今前端开发中不可或缺的工具之一。 asui 是一个基于 React 和 Antd 的快速开发 UI 库,它提...

    2 年前
  • npm 包 elao-container.js 使用教程

    elao-container.js 是一个方便的前端开发工具,能够让你轻松地为网站添加一个可水平滚动的容器。本文将详细介绍 elao-container.js 的使用教程,并给出示例代码帮助你更好地理...

    2 年前

相关推荐

    暂无文章