0
我正在尝试调用Rails后端API并返回一些简单的数据 - 一组模型。例如,我有一个汽车模型,它具有制造,年份和价格的属性。将数据从Rails API反序列化到Angular 2模型
Angular 2模型的定义相似。
在使HTTP GET来电Rails应用程序:
class CarsController < ApplicationController
respond_to :json
def index
respond_with Car.all.order(:make)
end
end
导轨应用程序将返回数据作为对象的JSON阵列,它们各自包装在一个对象:
[ { car: { year: 2017, Make: Honda, Model: Accord } },
{ car: { year: 2010, Make: Toyota, Model: Solara } }
]
etc
Angular2例程调用并转换返回的数据:
getCars(): Observable<Car[]> {
return this.http.get(this.url)
.map(this.extractData)
.catch((res: Response) => this.handleError(res));
}
private extractData(res: Response) {
let body = res.json();
return body || { };
}
不起作用 - 它返回一个空对象,因为它期望数据不会将每个对象都包含在另一个对象中。
如何让Angular2做正确的事情?我怎样才能转换返回的数据,所以Angular2会正确地填充我的汽车数组?
(我不能相信搜索时,我无法找到这个问题的任何参考!)
感谢。