【问题标题】:LoopBack JSON Return InconsistencyLoopBack JSON 返回不一致
【发布时间】:2015-01-24 01:21:30
【问题描述】:

我们将 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' }
    }

    );

当我们删除“returns: { arg: 'data' }”时,它会导致错误。空白的“arg”也会导致问题。

【问题讨论】:

    标签: json loopbackjs strongloop


    【解决方案1】:

    您应该可以将其用于您的退货属性:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多