class Http { constructor(_backend: ConnectionBackend, _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> }
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.
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); } }
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:
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));
@Injectable()
constructor(_backend: ConnectionBackend, _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.
exported from @angular/http/index, defined in @angular/http/src/http.ts
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v2.angular.io/docs/ts/latest/api/http/index/Http-class.html