Es gibt schon viele Ressourcen da draußen, aber ich konnte keine finden, die aus dem einen oder anderen Grund funktioniert. Nehmen wir ein generisches Beispiel: Ich möchte die Antwort von http://swapi.co/api/people bekommen, die eine Liste von Leuten aus Star Wars sein wird.Wie wird ein API-Aufruf in Angular 2 durchgeführt?
import {Injectable } from '@angular/core';
import {Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@Injectable()
export class OombaDataService {
constructor(private http: Http) {}
private usersUrl = 'http://swapi.co/api/people/';
getData() {
return this.http.get(this.usersUrl)
.map(this.extractData)
}
private extractData(res: Response) {
let body = res.json();
return body.data || { };
}
private handleError (error: any) {
// In a real world app, we might use a remote logging infrastructure
// We'd also dig deeper into the error to get a better message
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
console.error(errMsg); // log to console instead
return Observable.throw(errMsg);
}
}
Eine Menge davon sollte korrekt sein, da es basiert auf Angular eigenen tutorial über die Angelegenheit. Aber aus welchem Grund auch immer, wenn ich es in meinen Komponenten anrufe, gibt es nur ein beobachtbares Objekt ohne die JSON-Daten zurück. Was vermisse ich?