在请求主体的JSON数据是没有得到使用体解析器
问题描述:
解析当我使用邮递员到本地主机发送POST请求:8080/API/NEWUSER与请求体:在请求主体的JSON数据是没有得到使用体解析器
{name: "Harry Potter"}
在服务器端的console.log (req.body)打印:
{ '{name: "Harry Potter"}': '' }
server.js
var express = require('express');
var app = express();
var router = express.Router();
var bodyParser = require('body-parser');
app.use('/', express.static(__dirname));
router.use(function(req, res, next) {
next();
});
router
.route('/newUser')
.post(function(req, res) {
console.log(req.body);
});
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json()); // support json encoded bodies
app.use('/api', router);
app.listen(8080);
我在做什么错?
答
在express.js中,声明中间件的顺序非常重要。中间件必须早于自己的中间件(API端点)定义。
var express = require('express');
var app = express();
var router = express.Router();
var bodyParser = require('body-parser');
app.use('/', express.static(__dirname));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json()); // support json encoded bodies
router
.route('/newUser')
.post(function(req, res) {
console.log(req.body);
});
app.use('/api', router);
app.listen(8080);
答
更改请求头
'的Content-Type': '应用/ JSON'
这样bodyParser可以解析体。
*这对我很有用。我使用角度5与快递(身体解析器)
你在邮递员设置的参数是什么 –