Actualmente tengo un problema con tslint y esperaba que alguien pudiera orientarme en la dirección correcta.
Estoy tratando de enviar una solicitud HTTP GET utilizando HTTP proporcionado por el marco Angular2. Con esta solicitud, debo especificar el tipo de contenido y el token de autenticación del portador.
Ejemplo de mi código:
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) => {Esto funciona, sin embargo, tslint se queja de que
"TS2345: el argumento de tipo '{ headers: Headers; }' no se puede asignar al parámetro de tipo 'RequestOptionsArgs'. Los tipos de propiedad 'headers' son incompatibles. El tipo 'Headers' no se puede asignar al tipo 'Headers'. Dos tipos diferentes con este nombre existen, pero no están relacionados. Falta la propiedad 'claves' en el tipo 'Encabezados'".
Agradezco el apoyo.
Actualizar
A partir de hoy, @angular/http ha quedado obsoleto y en su lugar se debe usar @angular/common/http . Entonces, la mejor manera de trabajar con encabezados http es importar import { HttpHeaders } from '@angular/common/http'; ( documentación ).
respuesta antigua
El tipo de Headers que se supone que debe importar es import { Headers } from '@angular/http'; .
Consulta tus importaciones
Tienes que actualizar los encabezados por:
let headers = {headers: new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded'})};Actualización para Angular 5
import { RequestOptions } from '@angular/http';Encontré esto en los comentarios de la respuesta correcta, así que si esto ayuda a alguien, buena suerte.
Documentación: https://angular.io/api/http/RequestOptions