Class Overview
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> }
Class 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));
Annotations
@Injectable()
Constructor
constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions)
Class Details
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
Please login to continue.