我是否需要始终在Express中包含bodyParser.json()和bodyParser.urlencoded()中间件?

时间:2019-07-12 21:16:01

标签: express body-parser

我有一个应用程序,用于后端的express和axios在前端创建请求。 Axios默认为POST发送JSON,所以我知道我需要使用app.use(bodyParser.json()来解析数据并使之在req.body上可用。

但是,在许多快速教程中,甚至在official docs中的示例中,都添加了一个附加的中间件:app.use(bodyParser.urlencoded({ extended: false })

据我所知,如果默认情况下我的应用程序已经在POST中发送回JSON,并且我不需要或计划以x-www-form-urlenncoded格式显式编码数据,则我不需要第二部分中间件。我的直觉是,当我在示例中看到两种类型的bodyParser中间件时,作者只是在考虑代码的差异,并试图通过涵盖多个基础来减少沮丧的人们。这是正确的吗?我只添加app.use(bodyParser.json())并没有违反任何最佳实践准则吗?

(在旁边:我知道您可以使用express.json(),因为bodyParser现在已捆绑为back in express,但我在这里坚持使用未捆绑的bodyParser,以供其他可能正在寻找相似答案的人使用,不知道更改)

0 个答案:

没有答案