To make HTTP requests we will use the Http
service. In this example we are creating a SearchService
to interact with the Spotify API.
import { HttpClient } from '@angular/http/common';import { Injectable } from '@angular/core';import { Observable } from 'rxjs/Observable';import 'rxjs/add/operator/map';​@Injectable()export class SearchService {​constructor(private http: HttpClient) {}​search(term: string) {return this.http.get('https://api.spotify.com/v1/search?q=' + term + '&type=artist').map(response => response.json());}}
​View Example​
Here we are making an HTTP GET request which is exposed to us as an observable. You will notice the .map
operator chained to .get
. The HttpClient
service provides us with the raw response as a string. In order to consume the fetched data we have to convert it to JSON.
In addition to HttpClient.get()
, there are also HttpClient.post()
, HttpClient.put()
, HttpClient.delete()
, etc. They all return observables.