npm 包 expressa-swagger 使用教程

阅读时长 10 分钟读完

在前端开发中,经常需要使用后端的接口来获取数据和进行数据存储等操作,而使用接口需要遵循一定的规范和标准,以保证接口的可用性,降低使用难度和提高开发效率。Swagger 是一种使用 JSON 或者 YAML 描述 API 的标准,被广泛应用于接口开发中。而 expressa-swagger 是一款基于 Swagger 的 npm 包,可以帮助我们在 Express.js 应用中集成 Swagger 特性,使得开发者可以快速创建、部署和测试 API 接口。本文主要介绍如何使用 expressa-swagger 进行 API 接口开发。

1. 安装 expressa-swagger

可以通过 npm 安装 expressa-swagger 包:

2. 引入 expressa-swagger

在 Node.js 应用中引入 expressa-swagger:

3. 配置 Swagger 文档

在 expressa-swagger 中使用 Swagger UI 展示文档,可以通过 YAML 格式编辑 API 文档,也可以通过代码生成器进行文档生成。以下是一个 Swagger YAML 示例:

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

可以看到,上述 YAML 具体描述了接口的请求和返回参数,方便开发者进行 API 接口开发。接下来创建 expressa-swagger 配置:

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

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

4. 运行 Express.js 应用

在 Express.js 应用中运行以下命令:

或通过 nodemon 运行:

运行后,在浏览器中访问 http://localhost:3000/docs 即可访问 Swagger UI 文档。

5. 使用 Swagger 编辑器

也可以通过在线的 Swagger 编辑器,传输上述 YAML 配置,编辑 Swagger 文档,调试 API 接口。

总结:

本文介绍了如何使用 expressa-swagger 在 Node.js 应用中集成 Swagger,通过 Swagger UI 展示文档,实现 API 接口的规范和标准化,方便后续开发和调试。

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

纠错
反馈