I currently have an issue with tslint and was hoping someone could point me in the right direction.
I'm trying to send an HTTP GET request using HTTP provided by the Angular2 framework. With this request, I must specify the content-type and the bearer authentication token.
Example of my code:
let headers = new Headers();
let authToken = this._user.getUser().JWT;
headers.append('Content-Type', 'application/json');
headers.append('Authorization', `Bearer ${authToken}`);
let options = new RequestOptions({ headers: headers });
this._http.get('http://' + url '/', options)
.timeout(3000)
.subscribe(
(res) => {
This works, however, tslint is complaining that
"TS2345: Argument of type '{ headers: Headers; }' is not assignable to parameter of type 'RequestOptionsArgs'. Types of property 'headers' are incompatible. Type 'Headers' is not assignable to type 'Headers'. Two different types with this name exist, but they are unrelated. Property 'keys' is missing in type 'Headers'."
I appreciate the support.
// example of headers of content type Json
Update for Angular 5
I found this in the comments from the correct answer, so If this helps somebody, good luck.
Documentation: https://angular.io/api/http/RequestOptions
You have to update headers by:
Update
As of today,
@angular/http
has been deprecated, and@angular/common/http
should be used instead. So the best way to work with http headers is to importimport { HttpHeaders } from '@angular/common/http';
(documentation).Old answer
The
Headers
type you are supposed to import isimport { Headers } from '@angular/http';
.Check your imports