npm 包 koa-joi-mw 的使用教程

阅读时长 5 分钟读完

介绍

koa-joi-mw 是一个基于 koa2 的中间件,它可以帮助我们使用 Joi (一个流行的 JavaScript 校验库)对请求参数进行校验。

koa-joi-mw 已经处理了校验逻辑,解析失败后会自动抛出错误,让错误处理更方便。它还提供了一些扩展功能,比如自定义错误处理逻辑、数据类型转换等。

在开发中,我们需要保证数据的完整性和安全性。koa-joi-mw 可以很好的帮我们解决这些问题。

安装

你可以使用 npm 或 yarn 来安装 koa-joi-mw。

使用

我们先创建一个简单的 koa2 服务器,然后使用 koa-joi-mw 对请求参数进行校验。

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

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

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

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

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

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

现在访问 http://localhost:3000/?arg1=1&arg2=2,你会得到以下结果:

自定义错误处理逻辑

有时候,koa-joi-mw 的默认错误处理逻辑可能并不适合我们的需求。比如,我们希望返回更友好的错误信息。

在这种情况下,我们可以自定义错误处理逻辑。

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

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

现在访问 http://localhost:3000/?arg1=1&arg2=-2,你会得到:

数据类型转换

在 koa-joi-mw 中,我们可以使用 convert 选项来启用数据类型转换的功能。

比如,我们希望将字符串类型的参数转换成整数类型:

默认情况下,koa-joi-mw 不会对参数值进行转换,而是使用原始字符串类型;而开启 convert 后,koa-joi-mw 会根据 Joi 的校验规则对参数值进行自动转换。

例如,现在访问 http://localhost:3000/?arg1=1&arg2=2,你会得到:

而当访问 http://localhost:3000/?arg1=1&arg2=2.5 时,koa-joi-mw 会将参数 arg2 的值自动转换成整数 2。

总结

在使用 koa 开发 web 应用时,koa-joi-mw 可以帮助我们简化请求参数校验的代码,提高开发效率。除此之外,它还提供了自定义错误处理和数据类型转换等功能,让我们可以更灵活地处理请求数据。

在日常开发中,数据的完整性和正确性非常重要,我们应该养成对请求参数进行校验的习惯,并尽可能地利用像 koa-joi-mw 这样的工具来简化校验操作。

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

纠错
反馈