Respuesta http del mapa angular 2 a la instancia de clase
Me pregunto cuál es la mejor manera de asignar la respuesta http de una solicitud get a una clase en lugar de un objeto Javascript básico.
En mi intento actual, simplemente hagonew ClassName(data)
, pero podría haber una oscura forma angular especificada y completamente increíble para hacer esto que no conozco.
Aquí está mi código actual:
getPost(id:number){
return this._http.get(this._postsUrl+'/'+id)
.map(res => new Post(res.json().data))
.do(data => console.log(data))
.catch(this.handleError);
}
Necesito que Post sea una clase y no solo una interfaz porque tengo métodos dentro.
Seguí HeroTutorial y la http "guía para desarrolladores" a lo largo y en sugetHeroes
método que hacen:
getHeroes () {
return this.http.get(this._heroesUrl)
.map(res => <Hero[]> res.json().data)
.catch(this.handleError);
}
De alguna manera esperaba que<Hero[]>
parte para hacer precisamente eso: tomar la clase Hero y crear nuevas instancias de ella, pero mis pruebas muestran que no es así, esto es prácticamente solo para TypeScript para saber qué esperar.
Algunas ideas ? ¡Gracias!