npm 包 @jsonsonson/swagger-express-validator 使用教程

阅读时长 7 分钟读完

在现代 Web 开发中,RESTful API 已经成为了构建网站或应用程序的一种主流方式。Swagger 是一款流行的 API 规范和工具,它可以生成 API 描述文件,方便前后端协作。

然而,由于人为或其他因素的错误,API 可能会发生变更。为了避免这种情况,在 API 开发过程中使用 Swagger 生成的 API 描述文件进行验证是一种优秀的做法。而本文将介绍一款基于 Swagger 的 API 描述文件的验证工具:npm 包 @jsonsonson/swagger-express-validator。

什么是 @jsonsonson/swagger-express-validator

@jsonsonson/swagger-express-validator 是一款使用 Swagger 定义文件的 Middleware,用于验证请求和响应对象是否符合 API 的描述文件。通过使用该工具,可以避免人为错误和 API 版本不同步的问题。

安装 @jsonsonson/swagger-express-validator

使用 npm 命令即可安装:

如何使用 @jsonsonson/swagger-express-validator

准备

在使用 @jsonsonson/swagger-express-validator 之前,需要先准备 Swagger 定义文件。Swagger 定义文件是以 YAML 或 JSON 格式声明的文档,可以被 @jsonsonson/swagger-express-validator 用于生成请求和响应对象的验证规则。下面是一个 Swagger 定义文件示例:

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

使用

在 Express 应用程序中添加 @jsonsonson/swagger-express-validator:

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

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

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

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

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

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

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

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

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

在该示例中,我们使用了 Express 框架处理请求,并使用 @jsonsonson/swagger-express-validator 验证请求和响应对象是否符合 API 描述文件。

在上述代码中,我们使用了中间件 swaggerExpressValidator 以 Swagger 的定义文件 swaggerDocument 初始化。在路由处理程序中,我们依然可以正常使用 req 和 res 对象。

Swagger 定义文件中声明了 users,因此在路由处理程序中我们处理了 /users 和 /users/{userID} 两个请求。GET 方法的响应都是一串假的用户数据,POST 和 PUT 方法分别返回请求的 body。

请求和响应数据符合 Swagger 定义文件中标明的数据格式。

讨论

Swagger 作为 API 规范和工具已经在很多公司和组织中得到了广泛的应用。而使用 @jsonsonson/swagger-express-validator 可以进一步提高 API 的质量和稳定性,避免人为错误和 API 版本不同步等问题。

本文介绍了 @jsonsonson/swagger-express-validator 的安装和使用,并附带了一个表单验证的实例,希望读者们能够对该工具产生兴趣,并在实际项目中加以应用。

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

纠错
反馈