如何使用bodyParser urlencoded(Postman)和bodyParser json(curl)同时工作Expess4

时间:2016-12-01 14:57:49

标签: express

我的服务器上有快递4:

CallEv

当我评论第一个集团时,我可以发送数据:

// configure the app to use bodyParser()
/*app.use(bodyParser.urlencoded({
    extended: true
}));*/

app.use(bodyParser.json());

并且它运行良好,但是当我发送带有x-www-form-urlencoded并且正文中的数据的邮递员的名字和姓氏文件时,不起作用。

但如果我再次启用代码:

curl -i -X POST -H "Content-Type:application/json" -d '{  "firstname" : "Frodo",  "lastname" : "Baggins" }' http://localhost:3000/accounts

邮差效果很好,但不是卷曲。

有两种方法可以协同工作吗?所以我可以用angular2代替卷曲。

2 个答案:

答案 0 :(得分:2)

你可以像这样链接身体解析器:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));

然后它将检测使用哪一个。

答案 1 :(得分:0)

请注意,如果您使用

app.use(bodyParser.json({ type: '*/*' }));
app.use(bodyParser.urlencoded({ extended: true }));

人体分析器必须像这样工作

app.use(bodyParser.json());