在 Express.js 中,body-parser 中间件用于解析请求体中的数据,常用于 POST 和 PUT 请求中。本文将介绍 body-parser 的使用方式,并提供实例代码,帮助读者更好地了解该中间件。
安装
在使用 body-parser 之前,需要先安装它。可以通过 npm 在项目中安装 body-parser。
npm install 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。其中,设置了 extended
为 true
,表示对象中可以包含数组和对象;设置了 limit
为 '100mb'
,表示接收的最大数据量为 100MB。
总结
通过本文的介绍,我们了解了 body-parser 的基本使用方式和支持的请求体数据格式,同时也学习了如何通过配置参数来自定义其行为。如此强大的中间件,必然在实际项目中有重要的作用。如果你正在开发一个 Express.js 的应用,那么学会并熟练使用 body-parser,将会让你事半功倍。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6650103bd3423812e42135ce