Node.js Azure移动应用程序使用正文分析器发布正文为空

Node.js Azure移动应用程序使用正文分析器发布正文为空,node.js,azure-mobile-services,Node.js,Azure Mobile Services,我一直在获取自定义API的帖子正文时遇到问题。在将body解析器添加到package.json并运行npm安装后,我使它能够简单地工作,但现在我面临着request.body在整个应用程序中没有任何数据的问题 在我的app.js中,我使用以下代码行注册body解析器 app.use(bodyParser.json({ limit: '50mb' })); app.use(bodyParser.urlencoded({ limit: '50mb', extended: true })); 在ap

我一直在获取自定义API的帖子正文时遇到问题。在将body解析器添加到package.json并运行npm安装后,我使它能够简单地工作,但现在我面临着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; }

每次都是空的。我已经用JSON和表单参数尝试过了。两者都不起作用。在本例中,我在本地运行,但当我将其推送到Azure时也不起作用。我在stackoverflow中尝试了新项目、不同的API文件和其他建议。我不知所措。这么简单的事情不应该这么复杂

正如@Dale前面提到的,从今天起,我们不需要安装body解析器中间件来获取Azure移动应用程序中定制API的POST body。我猜您在请求头中遗漏了内容类型

以下是我的测试结果:

testBody.js



在app.js中添加主体解析器中间件的时间点是什么?在安装移动应用程序中间件之前,必须先安装它。顺便问一下,您使用的是什么版本的移动应用程序SDK?不久前,我们在自定义API中添加了自动主体解析。问题似乎与本地运行的代码无关。在Azure中似乎工作得很好。在本例中,我正在VisualStudio代码中调试。移动应用程序版本为3.0.1。它将工作一段时间,然后停止。我卸载并重新安装bodyparser包,然后再次调试,它将正常工作。我注意到,当我有非常大的帖子主体时,如果我将其移除并发布一些小的东西,它将从那里开始工作。的确很奇怪。对我来说,这也发生在多台计算机上。
module.exports = {

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