headers - requestoptions angular 5
Angular2-Encabezados de HTTP RequestOptions (4)
Actualmente tengo un problema con tslint y esperaba que alguien pudiera señalarme 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 de 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 del tipo ''{encabezados: Encabezados;}'' no se puede asignar al parámetro del tipo ''RequestOptionsArgs''. Los tipos de propiedad ''encabezados'' son incompatibles. El tipo ''Encabezados'' no se puede asignar al tipo ''Encabezados''. Dos tipos diferentes con este nombre existen, pero no están relacionados. Faltan ''claves'' de propiedad en el tipo ''Encabezados''. "
Agradezco el apoyo.
// ejemplo de encabezados de tipo de contenido Json
import { Http, Headers, RequestOptions } from ''@angular/http'';
const Url = ''http://localhost:3000/'';
const headers = new Headers;
const body = JSON.stringify({
title: "data"
});
headers.append(''Content-Type'', ''application/json'');
this.http.post(Url, body, { headers: headers })
.pipe(map((res => res)));
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: DOCUMENTATION
Actualizar
A partir de hoy,
@angular/http
ha quedado en
deprecated
y en su lugar se debe utilizar
@angular/common/http
.
Entonces, la mejor manera de trabajar con encabezados http es importar
import { HttpHeaders } from ''@angular/common/http'';
(
documentation
).
Vieja respuesta
El tipo de
Headers
que debe importar es
import { Headers } from ''@angular/http'';
.
Revisa tus importaciones