Zgłaszanie żądań HTTP

Aby wysyłać żądania HTTP, użyjemy usługi Http. W tym przykładzie tworzymy SearchService do interakcji z interfejsem API zwracającym dane o książkach: http://books_api.otwartaedukacja.pl/books.

import { Http } from '@angular/http';
import { Injectable } from '@angular/core';

const SERVER = 'http://books_api.otwartaedukacja.pl/books';

@Injectable()
export class SearchService {

  constructor(private http: Http) {}

  search(term: string) {
    return this.http.get(SERVER+`?title=${term}`)
      .map(response => {console.log(response);return response.json(); });
  }
}

Zobacz przykład [067]

Tutaj robimy żądanie HTTP GET, które jest dla nas widoczne jako Observable. Zauważ operację .map powiązaną z .get. Usługa Http dostarcza nam nieprzetworzoną odpowiedź jako ciąg znaków. Aby zużyć pobrane dane, musimy przekonwertować je na JSON.

Oprócz Http.get() istnieją również Http.post(), Http.put(), Http.delete(), itd. Wszystkie zwracają obserwowalne obiekty.