ngx-restangular中的getList()问题

时间:2019-08-22 10:03:07

标签: angular restangular

我正在使用Angular 8.2.0和ngx-restangular。在我的服务中,我使用getList();控制台中出现以下错误 Error: Response for getList SHOULD be an array and not an object or something else.

我研究并查看了Restangular的方法。我尝试使用get()而不是getList()进行输出,但是没有用。

getAllBalanceListIssues(context: string, month: string): Observable<SusaList[]> {
    let url = `/susa?context=${context}`;
    if (month !== null) {
      url = `${url}&period=${month}`;
    }
    return this.restAngular.all(url).getList();
}
core.js:6014 ERROR Error: Response for getList SHOULD be an array and not an object or something else
    at SafeSubscriber.okCallback [as _next] (ngx-restangular.js:1363)
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:185)
    at SafeSubscriber.next (Subscriber.js:124)
    at Subscriber._next (Subscriber.js:72)
    at Subscriber.next (Subscriber.js:49)
    at CatchSubscriber._next (Subscriber.js:72)
    at CatchSubscriber.next (Subscriber.js:49)
    at MapSubscriber._next (map.js:35)
    at MapSubscriber.next (Subscriber.js:49)
    at MapSubscriber._next (map.js:35)

2 个答案:

答案 0 :(得分:0)

一直都是这样,这是正常现象。 getList方法期望将数组作为其结果。相反,如果您想调用返回一个对象(带有或不带有分页)的API,则必须使用get方法,然后将结果映射到所需的模型类中。

答案 1 :(得分:0)

您需要检查列表的返回类型,如果它是 JSON 对象,则只接受它,否则不接受其他类型的响应,只接受 JSON 对象。