我想知道如何在Azure中使用Easy API在azure中进行查询后解析结果?对我来说,似乎在函数(结果)中创建一个objet会导致无限循环,最后返回httpcode 500。 请帮忙。必须有一种方法来解析结果,将其存储在Javascript对象中,然后将结果作为Json返回。
var azureMobileApps = require('azure-mobile-apps');
var queries = require('azure-mobile-apps/src/query');
var api = {
get: (req, res, next) => {
if(Object.keys(req.query).length === 0) {
res.status(400).type('text/plain').send("Error! Please add event id");
return;
}
if(req.query.eventId === 'undefined' || req.query.eventId.length === 0) {
res.status(400).type('text/plain').send("Error! missing eventId parameter");
console.log("worked!");
return;
}
var query = {
sql: 'Select .... where eventId=@eventId'
,
parameters: [
{ name: 'eventId', value: req.query.eventId }
]
};
req.azureMobile.data.execute(query)
.then(function (results) {
TODO: here! Parse results, add properties to objects and then return that instead!
res.status(200).type('application/json').send({sessions: results});
},function(error){
console.log('Found an error: ', error);
});
}
};
api.get.access = 'authenticated';
module.exports = api;
答案 0 :(得分:2)
您的代码段没有任何问题。在node.js后端移动应用程序中,phaddw
返回查询结果的数组列表。以下是Azure开发团队提供的GitHub https://github.com/Azure/azure-mobile-apps-node/blob/master/samples/custom-api-sql-stmt/api/completeall.js上的代码示例。
Node.js中的Mobile App基于Expressjs框架。您只需使用req.azureMobile.data.execute(query)
直接返回json响应。
另外,对于您的问题,通常,stmt异常会引发您的问题。在查询数据之前,请仔细检查res.json(obj)
对象是否正确。
您可以使用Visual Studio Team Services(Visual Studio Online)来解决nodejs后端移动应用程序。
任何进一步的观点,请随时告诉我。