linkHttp
npm Package | @angular/http |
---|---|
Module | import { Http } from '@angular/http'; |
Source | http/src/http.ts |
linkDeprecation Notes
use @angular/common/http instead
linkOverview
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>
}
linkDescription
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.
linkExample
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);
}
}
linkExample
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:
linkExample
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));
linkSubclasses
linkConstructor
constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions)
linkMembers
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.
linkAnnotations
@Injectable()