我正在使用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)
答案 0 :(得分:0)
一直都是这样,这是正常现象。 getList方法期望将数组作为其结果。相反,如果您想调用返回一个对象(带有或不带有分页)的API,则必须使用get方法,然后将结果映射到所需的模型类中。
答案 1 :(得分:0)
您需要检查列表的返回类型,如果它是 JSON 对象,则只接受它,否则不接受其他类型的响应,只接受 JSON 对象。