This is the archived documentation for Angular v5. Please visit angular.io to see documentation for the current version of Angular.

Http

npm Package @angular/http
Module import { Http } from '@angular/http';
Source http/src/http.ts

Deprecation Notes

use @angular/common/http instead

Overview

      
      class Http {
  constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions)
  protected _backend: ConnectionBackend
  protected _defaultOptions: RequestOptions
  request(url: string | Request, options?: RequestOptionsArgs): Observable<Response>
  get(url: string, options?: RequestOptionsArgs): Observable<Response>
  post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>
  put(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>
  delete(url: string, options?: RequestOptionsArgs): Observable<Response>
  patch(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>
  head(url: string, options?: RequestOptionsArgs): Observable<Response>
  options(url: string, options?: RequestOptionsArgs): Observable<Response>
}
    

Description

Performs http requests using XMLHttpRequest as the default backend.

Http is available as an injectable class, with methods to perform http requests. Calling request returns an Observable which will emit a single Response when a response is received.

Example

      
      import {Http, HTTP_PROVIDERS} from '@angular/http';
import 'rxjs/add/operator/map'
@Component({
  selector: 'http-app',
  viewProviders: [HTTP_PROVIDERS],
  templateUrl: 'people.html'
})
class PeopleComponent {
  constructor(http: Http) {
    http.get('people.json')
      // Call map on the response observable to get the parsed people object
      .map(res => res.json())
      // Subscribe to the observable to get the parsed people object and attach it to the
      // component
      .subscribe(people => this.people = people);
  }
}
    

Example

      
      http.get('people.json').subscribe((res:Response) => this.people = res.json());
    

The default construct used to perform requests, XMLHttpRequest, is abstracted as a "Backend" ( XHRBackend in this case), which could be mocked with dependency injection by replacing the XHRBackend provider, as in the following example:

Example

      
      import {BaseRequestOptions, Http} from '@angular/http';
import {MockBackend} from '@angular/http/testing';
var injector = Injector.resolveAndCreate([
  BaseRequestOptions,
  MockBackend,
  {provide: Http, useFactory:
      function(backend, defaultOptions) {
        return new Http(backend, defaultOptions);
      },
      deps: [MockBackend, BaseRequestOptions]}
]);
var http = injector.get(Http);
http.get('request-from-mock-backend.json').subscribe((res:Response) => doSomething(res));
    

Subclasses

Constructor

      
      constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions)
    

Members

      
      protected _backend: ConnectionBackend
    

      
      protected _defaultOptions: RequestOptions
    

      
      request(url: string | Request, options?: RequestOptionsArgs): Observable<Response>
    

Performs any type of http request. First argument is required, and can either be a url or a Request instance. If the first argument is a url, an optional RequestOptions object can be provided as the 2nd argument. The options object will be merged with the values of BaseRequestOptions before performing the request.


      
      get(url: string, options?: RequestOptionsArgs): Observable<Response>
    

Performs a request with get http method.


      
      post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>
    

Performs a request with post http method.


      
      put(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>
    

Performs a request with put http method.


      
      delete(url: string, options?: RequestOptionsArgs): Observable<Response>
    

Performs a request with delete http method.


      
      patch(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>
    

Performs a request with patch http method.


      
      head(url: string, options?: RequestOptionsArgs): Observable<Response>
    

Performs a request with head http method.


      
      options(url: string, options?: RequestOptionsArgs): Observable<Response>
    

Performs a request with options http method.

Annotations

      
      @Injectable()