Angular 4 maneira adequada de transmitir resposta http
Eu criei um serviço no Angular 4 e estou buscando dados via REST / JSON (novo no Angular) usando este código:
Interface
export interface IItem {
Id: number;
Title: string;
}
Serviço
import { IItem } from './item';
import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/map';
@Injectable()
export class ItemTest {
constructor(private _http: HttpClient) {}
getItems(): Observable<IItem[]> {
return this._http.get<IItem[]>('url')
.do(data => {
console.log(data);
})
}
}
O http convertido para o IITem funciona bem se a resposta estiver neste formato
[
{
"Id": 53,
"Title": "Test Document 4.docx"
},
{
"Id": 55,
"Title": "Test Document 2.docx"
}
]
Mas a resposta real do servidor se parece com isso e o elenco não funciona. Qual é a melhor maneira de converter a parte "resultados" da resposta em uma matriz de itens II?
{
"d": {
"results": [
{
"Id": 53,
"Title": "Test Document 4.docx"
},
{
"Id": 55,
"Title": "Test Document 2.docx"
}
]
}
}