Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

309
Visualizações
Cómo agregar múltiples encabezados en Angular 5 HttpInterceptor

Estoy tratando de aprender a usar HttpInterceptor para agregar un par de encabezados a cada solicitud HTTP que la aplicación hace a la API. Tengo este interceptor:

 import { Injectable } from '@angular/core'; import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http'; import { Observable } from 'rxjs/Observable'; @Injectable() export class fwcAPIInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { const authReq = req.clone({ headers: req.headers.set('Content-Type', 'application/json') }); console.log('Intercepted HTTP call', authReq); return next.handle(authReq); } }

Además del encabezado 'Content-Type' , necesito agregar una 'Authorization' pero no sé cómo hacerlo (la documentación de Angular HttpHeaders es solo la lista de métodos, sin ninguna explicación).

¿Cómo puedo hacerlo? ¡Gracias!

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Dado que el método set devuelve objetos de encabezado cada vez, puede hacer esto. De esta forma, también se conservarán los encabezados originales de la solicitud interceptada.

 const authReq = req.clone({ headers: req.headers.set('Content-Type', 'application/json') .set('header2', 'header 2 value') .set('header3', 'header 3 value') });
over 4 years ago · Santiago Trujillo Relatório

0

Editar: siguiendo las sugerencias en los comentarios, he unificado ambas respuestas.

Sobrescribir todos los encabezados

 @Injectable() export class fwcAPIInterceptor implements HttpInterceptor { intercept (req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { const authReq = req.clone({ headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'my-auth-token' }) }); console.log('Intercepted HTTP call', authReq); return next.handle(authReq); }

Agregar más encabezados sin sobrescribir (créditos a Ketan Patil ; vea la respuesta en esta publicación)

 const authReq = req.clone({ headers: req.headers.set('Content-Type', 'application/json') .set('header2', 'header 2 value') .set('header3', 'header 3 value') });
over 4 years ago · Santiago Trujillo Relatório

0

Como se mencionó anteriormente, el método aceptado anula los encabezados, para agregarlos me gusta el enfoque de la documentación de la API :

 const authReq = req.clone({ setHeaders: { Authorization: authToken } });
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda