📅  最后修改于: 2023-12-03 15:21:31.558000             🧑  作者: Mango
在以往的版本中,express框架中默认自带 body-parser 中间件用于解析 HTTP 请求中的 body 数据,但是在新版本中,官方文档已明确表示不再推荐使用 body-parser,而是推荐直接使用内置的 express.json() 和 express.urlencoded() 中间件。
既然官方已经不推荐使用 body-parser,那么我们应该如何使用内置的 express.json() 和 express.urlencoded() 中间件呢?
const express = require('express');
const app = express()
app.use(express.json()) // 解析json格式的请求body
app.use(express.urlencoded({ extended: true })) // 解析表单格式的请求body
app.post('/api/user', (req, res) => {
console.log(req.body)
res.send('success')
})
app.listen(3000, () => {
console.log('Server is listening on port 3000!')
})
虽然 body-parser 依然可以使用,但是从安全性、性能以及多样性等方面考虑,我们应该遵循官方的推荐,并且尽量使用内置的 express.json() 和 express.urlencoded() 中间件去解析请求体数据。