在我的Angular2应用程序中,我有一个Injectable WebcamsService。此服务应该可以获得所有网络摄像头或添加新的网络摄像头。
....
@Injectable()
export class WebcamsService {
constructor (private http: Http) {}
getWebcams(id: number) {
...
}
addWebcam(...) {
...
}
}
API的响应(GET / api / v1 /网络摄像头):
{
"data": [
{
"id": 1,
"url": "http://www.xyz.de",
"name": "WebcamName",
"location": {
"country": "XY",
"city": "Z"
}
},
{
"id": 1,
"url": "http://www.xyz.de",
"name": "WebcamName",
"location": {
"country": "XY",
"city": "Z"
}
}
]
}
API的响应(POST / api / v1 /网络摄像头):
{
"data": {
"spot_id": "1",
"name": "X",
"url": "Y",
"location": {
"country": "XY",
"city": "Z"
}
}
}
当然,我想将这些响应映射到对象。这些课程看起来像这样:
网络摄像头的模型
export class Webcam {
id: number;
url: string;
name: string;
location: Location;
}
位置的模型
export class Location {
country: string;
city: string;
}
现在我必须将响应映射到我的对象。我认为有几种选择:
还有其他选择吗? 我应该使用哪个选项?