Express.js 请求参数解析与校验

阅读时长 3 分钟读完

前言

在使用 Express.js 进行开发时,我们难免要处理请求参数的问题。如何解析参数,如何校验参数的正确性,这些都是前端工程师需要掌握的技能。本文将会详细介绍 Express.js 的参数解析与校验,并提供示例代码进行演示。

Express.js 参数解析

Express.js 中内置了多种中间件来解析请求参数,如 body-parsercookie-parser 等等。这里我们以 body-parser 中间件为例子进行介绍。

body-parser 中间件可以解析 POST、PUT、DELETE 等请求方法的请求体,并把解析后的数据绑定到 req.body 上。使用方法如下:

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

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

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

-- -- ----------------
--------------------------
展开代码

以上代码将 body-parser 中间件挂载到了 Express.js 应用程序上,并对 application/x-www-form-urlencodedapplication/json 两种请求格式进行了解析,解析结果分别保存在 req.body 中。

Express.js 参数校验

我们经常会遇到参数校验的场景,比如校验手机号码格式、邮箱格式,检查传入的是不是数字等等。如何在 Express.js 中完成这些校验呢?这里我们推荐使用 express-validator 库。

express-validator 库具有易用性和可扩展性,支持自定义校验函数、多语言支持等特性。使用方法如下:

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

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

----------------- -
  -----------------------------
  -------------------------
  --------------------
-- ----- ---- -- -
  ----- ------ - ---------------------
  -- ------------------- -
    ------ ---------------------- ------- -------------- --
  -
  -- ------
--
展开代码

以上代码中,我们对 /user 接口的参数进行了校验,要求 username 字段不能为空,email 字段必须符合邮箱格式,age 字段必须是整数。使用 validationResult(req) 函数检查校验结果是否有误,如果有误则返回 errors 数组。最后根据检验结果返回不同的响应。

总结

Express.js 提供了许多内置中间件来帮助开发者解析和校验请求参数,并且支持自定义校验函数。开发者可以根据自身的业务需求选择合适的校验方式,提高代码的健壮性和可维护性。

代码示例:Github

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

纠错
反馈

纠错反馈