LoopBack JSON返回不一致

时间:2015-01-23 17:02:07

标签: json loopbackjs strongloop

我们正在为我们的REST API使用LoopBack。我们注意到REST端点返回JSON的不一致。我们可以编写代码,但最好知道如何在我们的代码中正确解决它。问题是当标准REST端点返回JSON时,没有JSON对象ID。但是,当我们从直接执行的查询返回JSON时,我们必须指定一个对象ID。这是从标准LoopBack REST返回的JSON' get'拨打:

enter image description here

当我们返回自己的JSON时,它似乎必须有一个ID:

enter image description here

以下是我们如何返回自己的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'也会引起问题。

1 个答案:

答案 0 :(得分:18)

您应该能够将此用作返回属性:

returns: {type: 'object', root: true},

基本上说类型将是对象,它将是根本意味着不需要id。由于您还没有返回数组,因此我不确定您是否需要使用type: 'array',我还不必从自定义远程方法返回数组。