In HttpClientModule, is there a method to pass headers and params to get request.
import { HttpHeaders, HttpParams, HttpClient } from @angular/common/http';
const headers = { headers: new HttpHeaders({}) }
let params = new HttpParams({ });
get(url, {params}) // http client get with params
get(url, {headers}); //http client get with headers
I want something like requestoptions to hold both or a syntax to do httpClient get sending request headers and params.
Currently building complete url with search params and sending headers along.
Here is something that passes both headers and parameters in with a get
, and it uses HttpParamsOptions
to serialize an object into parameters that the HttpClient can cope with.
localvar: any;
const headers = new HttpHeaders().set('Content-Type', 'application/json');
const myObject: any = { this: 'thisThing', that: 'thatThing', other: 'otherThing'};
const httpParams: HttpParamsOptions = { fromObject: myObject } as HttpParamsOptions;
const options = { params: new HttpParams(httpParams), headers: headers };
this.httpClient.get<any>('https://server:port/api/endpoint', options)
.subscribe((data: any) => {
this.localvar = data;
});
As of Angular 5.0.0-beta.6 (2017-09-03), you can now pass in both headers and parameters using the below syntax:
const httpOptions = {
headers: { 'Content-Type': 'application/json' },
params: {'include': 'somethingCool'}
};
this.http.get('http://www.example.org', httpOptions);
Source: https://github.com/angular/angular/pull/18490