Express.js 中的 BodyParser 的使用教程

阅读时长 5 分钟读完

在 Express.js 中,BodyParser 是一个重要的中间件,用于处理 HTTP 请求体的解析。借助于 BodyParser,我们可以轻松地处理 POST、PUT、DELETE 等 HTTP 请求体的数据,并将其解析为 JavaScript 对象,以便在处理程序中进行分析和操作。在本篇文章中,我们将详细介绍 BodyParser 的用法,并提供一些示例代码以供参考。

安装 BodyParser

在 Express.js 中,我们可以通过 npm 命令来安装 BodyParser:

安装完成后,我们需要在 Express.js 中引入 BodyParser:

解析 URL 编码的请求体

URL 编码是一种将数据转换为 ASCII 字符串的方式,以便于在 HTTP 请求中传输数据。在 Express.js 中,我们可以使用 bodyParser.urlencoded() 来解析 URL 编码的请求体数据。使用方法如下:

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

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

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

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

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

在上述示例中,我们首先通过 app.use() 函数来使用 BodyParser,传入 bodyParser.urlencoded() 方法用于解析 URL 编码的请求体数据。接下来,我们添加了一个 POST 路由 /login,并在处理程序中使用 req.body 来获取请求体中的数据。最后,我们使用 res.send() 函数返回响应。

解析 JSON 请求体

除了 URL 编码格式,HTTP 请求还可以使用 JSON 格式来传输数据。在 Express.js 中,我们可以使用 bodyParser.json() 方法来解析 JSON 格式的请求体数据。使用方法如下:

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

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

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

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

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

在上述示例中,我们使用 app.use() 函数来使用 BodyParser,传入 bodyParser.json() 方法来解析 JSON 格式的请求体数据。接下来,我们添加了一个 POST 路由 /user,并在处理程序中使用 req.body 来获取请求体中的数据。最后,我们使用 res.send() 函数返回响应。

限制请求体大小

在处理 HTTP 请求时,为了防止网络攻击或意外错误,我们需要对请求体的大小进行限制。在 Express.js 中,我们可以使用 bodyParser.urlencoded()bodyParser.json()limit 选项来限制请求体的大小。例如:

在上述示例中,我们限制了请求体的大小为 1MB。如果请求体超过了限制的大小,将会抛出一个 413 Request Entity Too Large 错误响应。

使用 Raw 格式解析请求体

除了 URL 编码格式和 JSON 格式之外,HTTP 请求还可以使用 Raw 格式来传输数据。在 Express.js 中,我们可以使用 bodyParser.raw() 方法来解析 Raw 格式的请求体数据。使用方法如下:

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

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

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

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

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

在上述示例中,我们使用 app.use() 函数来使用 BodyParser,传入 bodyParser.raw() 方法来解析 Raw 格式的请求体数据。我们还设置了 type 选项为 application/octet-stream,以指定要解析的 MIME 类型。接下来,我们添加了一个 POST 路由 /upload,并在处理程序中使用 req.body 来获取请求体中的数据。最后,我们使用 res.send() 函数返回响应。

总结

在本篇文章中,我们介绍了 BodyParser 的用法,并提供了一些示例代码以供参考。通过了解 BodyParser,您可以轻松地处理 HTTP 请求体的数据,并将其解析为 JavaScript 对象,以便在处理程序中进行分析和操作。希望本文对您有所帮助!

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

纠错
反馈