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會正確地填充我的汽車數組?
(我不能相信搜索時,我無法找到這個問題的任何參考!)
感謝。