Angular 角度2-DTO';标准普尔;模型

Angular 角度2-DTO';标准普尔;模型,angular,angular2-services,Angular,Angular2 Services,试图理解Angular 2中DTO和/或模型的更好方法 例如,我正在进行一个api调用并键入对Items数组的响应,如下所示: get list(): Observable<Items[]> { return this.http.get('/items') } get list():可观察{ 返回此.http.get(“/items”) } 我想这已经足够好了。但是,我见过其他人从返回的api数据创建新对象。 例如: get list(): Observable<I

试图理解Angular 2中DTO和/或模型的更好方法

例如,我正在进行一个api调用并键入对Items数组的响应,如下所示:

get list(): Observable<Items[]> {
    return this.http.get('/items')
}
get list():可观察{
返回此.http.get(“/items”)
}
我想这已经足够好了。但是,我见过其他人从返回的api数据创建新对象。 例如:

get list(): Observable<Items[]> {
    return this.http
        .get('/items')
        .map(items => {
                let newArray = [];
                items.forEach(item => {
                    newArray.push(new item(item.prop1, item.prop2))
                })
                return newArray;
            }
        )
}
get list():可观察{
返回此文件。http
.get(“/items”)
.map(项目=>{
设newArray=[];
items.forEach(item=>{
newArray.push(新项(item.prop1,item.prop2))
})
返回新数组;
}
)
}

除非我打算在运行时扩充或修改属性,否则我不知道这对于创建一组新对象是必要的?这可能是一个基本问题,但推荐的方法是什么?为什么?

Imo在本例中没有任何意义。相反,它会在api调用中产生大量开销。