使用正文解析器

时间:2017-02-09 18:33:34

标签: node.js azure-mobile-services

我一直在获取自定义API的帖子主体时遇到问题。在将body-parser添加到我的package.json并运行npm install之后我简单地工作了,但是现在我面临request.body在我的应用程序中没有任何数据。

在我的app.js中,我使用以下代码行注册了body解析器。

app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));

在我位于API文件夹中的自定义API中,我有类似的东西。

    post: (request, response, next) => {
    var body = request.body;
    var context = request.azureMobile; }

request.body每次都空着。我已经尝试使用JSON和表单参数。两者都不起作用。在这个例子中,我在本地运行但是当我将它推送到Azure时它不起作用。我在stackoverflow中尝试了新项目,不同的API文件和其他建议。我很茫然。这么简单的东西不应该这么复杂。

1 个答案:

答案 0 :(得分:0)

正如前面提到的@Dale,截至今天,我们不需要安装 body-parser 中间件来获取Azure移动应用程序中自定义API的POST主体。我的猜测是你在请求标题中错过了 Content-Type

以下是我的测试结果:

<强> testBody.js

module.exports = {

    "post": function (req, res, next) {
        res.send('request body: ' + JSON.stringify(req.body));
    }
}

enter image description here