LoopBack JSON返回不一致

ASA*_*SA2 1 json strongloop loopbackjs

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

在此输入图像描述

当我们返回自己的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' }
    }

    );
Run Code Online (Sandbox Code Playgroud)

当我们删除"returns:{arg:'data'}"时会导致错误.空白'arg'也会导致问题.

use*_*654 18

你应该能够将它用于你的返回属性:

returns: {type: 'object', root: true},
Run Code Online (Sandbox Code Playgroud)

基本上说类型将是对象,它将是根本意义,id不需要.type: 'array'由于你返回一个数组,不确定你是否需要在你的情况下使用,我还没有必须从自定义远程方法返回一个数组.