我们正在为我们的REST API使用LoopBack。我们注意到REST端点返回JSON的不一致。我们可以编写代码,但最好知道如何在我们的代码中正确解决它。问题是当标准REST端点返回JSON时,没有JSON对象ID。但是,当我们从直接执行的查询返回JSON时,我们必须指定一个对象ID。这是从标准LoopBack REST返回的JSON' get'拨打:
当我们返回自己的JSON时,它似乎必须有一个ID:
以下是我们如何返回自己的JSON(TypeScript):
var sql: string = "SELECT * FROM as_trialbalancelist"
// Execute the SQL
dbConn.query(sql, function (error: number, rows: any, fields: any) {
// Check for errors
if (error) {
console.log('ERROR: ' + error);
// TODO: Need better error return.
// res.send(error);
return;
}
callback(null, rows);
});
Dataview.remoteMethod(
'trialbalance',
{
returns: { arg: 'data' },
http: { verb: 'get' }
}
);
当我们删除"返回时:{arg:'数据' }"它会导致错误。空白' arg'也会引起问题。
答案 0 :(得分:18)
您应该能够将此用作返回属性:
returns: {type: 'object', root: true},
基本上说类型将是对象,它将是根本意味着不需要id
。由于您还没有返回数组,因此我不确定您是否需要使用type: 'array'
,我还不必从自定义远程方法返回数组。