最近在使用Postman测试Nodejs后台接口程序时,发现当调用post请求数据时req.body中某个字段是空的,由于之前做过Nodejs后台接口的编写,知道是缺少body-parser
中间件的原因。
Nodejs req.body 默认为空。如果使用了 express
框架,可以通过安装body-parser
中间件加以解决
也就是说需要使用npm
或者yarn
安装body-parser
中间件,然后在项目主文件中引入body-parser
中间件并使用。
相应的代码如下:
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
在http请求中,POST、PUT、PATCH三种请求方法中包含着请求体,也就是所谓的request,在Nodejs原生的http模块中,请求体是要基于流的方式来接受和解析。 body-parser是一个HTTP请求体解析的中间件,使用这个模块可以解析JSON、Raw、文本、URL-encoded格式的请求体