Express.js 中 body-parser 中间件的使用方式

阅读时长 6 分钟读完

在 Express.js 中,body-parser 中间件用于解析请求体中的数据,常用于 POST 和 PUT 请求中。本文将介绍 body-parser 的使用方式,并提供实例代码,帮助读者更好地了解该中间件。

安装

在使用 body-parser 之前,需要先安装它。可以通过 npm 在项目中安装 body-parser。

基本用法

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

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

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

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

在以上示例代码中,首先引入了 express 和 body-parser 模块,然后通过 app.use() 方法将 body-parser 中间件挂载到 Express 应用上。在 app.post() 中,通过 req.body 访问请求体中的数据。

支持的数据类型

body-parser 可以解析以下类型的请求体数据:

  • JSON 格式请求体
  • Raw 格式请求体
  • Text 格式请求体
  • URL-encoded 格式请求体

JSON 格式请求体

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

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

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

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

在以上示例代码中,通过 app.use() 方法配置了 body-parser 中间件解析 JSON 格式的请求体数据。

Raw 格式请求体

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

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

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

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

在以上示例代码中,通过 app.use() 方法配置了 body-parser 中间件解析 Raw 格式的请求体数据。

Text 格式请求体

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

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

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

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

在以上示例代码中,通过 app.use() 方法配置了 body-parser 中间件解析 Text 格式的请求体数据。

URL-encoded 格式请求体

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

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

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

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

在以上示例代码中,通过 app.use() 方法配置了 body-parser 中间件解析 URL-encoded 格式的请求体数据。

配置参数

可以通过传递一个对象作为参数,来配置 body-parser 解析请求体的选项。常用的选项包括:

  • extended:配置对象是否可包含数组和对象(默认为 true)。
  • limit:配置接收的最大数据量(默认为 '100kb')。
-- -------------------- ---- -------
----- ------- - -------------------
----- ---------- - -----------------------

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

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

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

在以上示例代码中,通过 app.use() 方法传递一个对象参数来配置 body-parser。其中,设置了 extendedtrue,表示对象中可以包含数组和对象;设置了 limit'100mb',表示接收的最大数据量为 100MB。

总结

通过本文的介绍,我们了解了 body-parser 的基本使用方式和支持的请求体数据格式,同时也学习了如何通过配置参数来自定义其行为。如此强大的中间件,必然在实际项目中有重要的作用。如果你正在开发一个 Express.js 的应用,那么学会并熟练使用 body-parser,将会让你事半功倍。

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

纠错
反馈