解析请求体
body-parser
-
express 对于get请求的参数做了单独处理,在 req 里添加了一个叫 query 的成员。
-
express 并没有处理 body => express 为我们提供了处理 post 请求参数处理的接口 => 我们可以手动调用这些接口来进行处理。
- body-parser => 专门解析请求体的操作,但是不能解析文件;当然 express 框架是有内置这个插件的,所以可以不需要 npm 下载。
- 需要注意的是,挂载这个插件到服务上的时候需要挂载在所有路由之前,这样可以让所有的请求在进入路由之前,都能够先被进行处理(把请求体解析好)。
-
使用 express 内置插件代码示例:
-
server.use(express.urlencoded({ extended: false })) server.use(express.json())
-
-
使用 npm 下载 body-parser 插件代码示例:
-
const bodyParser = require('body-parser') server.use(bodyParser({ extended: false })) server.use(bodyParser.json())
-
-
更多具体的使用方法可以前往官网查看:body-parser - npm (npmjs.com)
- 这里需要提一点,如果这个插件挂载到服务上时,是挂载在路由之后的话,就会出现 req.body 为一个空对象的情况。
小怪留言:有些知识点比较少用到,忘记了不可怕,有空回来看看吖