On this page
Http
class deprecated
Performs http requests using XMLHttpRequest as the default backend.
Deprecated: see https://angular.io/guide/http
class Http {
  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>
}
   Subclasses
Description
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.
Properties
| Property | Description | 
|---|---|
protected _backend: ConnectionBackend | 
       |
protected _defaultOptions: RequestOptions | 
       
Methods
| 
         
          request() 
          | 
      ||||
|---|---|---|---|---|
Performs any type of http request. First argument is required, and can either be a url or a   | 
      ||||
  | 
      
| url | Type:   | 
          
| options | Type:  Optional. Default is   | 
          
Returns
Observable<Response>
| 
         
          get() 
          | 
      ||||
|---|---|---|---|---|
Performs a request with   | 
      ||||
  | 
      
| url | Type:   | 
          
| options | Type:  Optional. Default is   | 
          
Returns
Observable<Response>
| 
         
          post() 
          | 
      ||||||
|---|---|---|---|---|---|---|
Performs a request with   | 
      ||||||
  | 
      
| url | Type:   | 
          
| body | Type:   | 
          
| options | Type:  Optional. Default is   | 
          
Returns
Observable<Response>
| 
         
          put() 
          | 
      ||||||
|---|---|---|---|---|---|---|
Performs a request with   | 
      ||||||
  | 
      
| url | Type:   | 
          
| body | Type:   | 
          
| options | Type:  Optional. Default is   | 
          
Returns
Observable<Response>
| 
         
          delete() 
          | 
      ||||
|---|---|---|---|---|
Performs a request with   | 
      ||||
  | 
      
| url | Type:   | 
          
| options | Type:  Optional. Default is   | 
          
Returns
Observable<Response>
| 
         
          patch() 
          | 
      ||||||
|---|---|---|---|---|---|---|
Performs a request with   | 
      ||||||
  | 
      
| url | Type:   | 
          
| body | Type:   | 
          
| options | Type:  Optional. Default is   | 
          
Returns
Observable<Response>
| 
         
          head() 
          | 
      ||||
|---|---|---|---|---|
Performs a request with   | 
      ||||
  | 
      
| url | Type:   | 
          
| options | Type:  Optional. Default is   | 
          
Returns
Observable<Response>
| 
         
          options() 
          | 
      ||||
|---|---|---|---|---|
Performs a request with   | 
      ||||
  | 
      
| url | Type:   | 
          
| options | Type:  Optional. Default is   | 
          
Returns
Observable<Response>
Usage notes
Example
import {Http, HTTP_PROVIDERS} from '@angular/http';
import {map} from 'rxjs/operators';
@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
      .pipe(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));
  © 2010–2019 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
 https://v6.angular.io/api/http/Http