Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

360
Vistas
Deshabilite Angular HttpInterceptor para alguna llamada

Tengo una aplicación angular con un HttpInterceptor que detecta los errores de http para mostrar algún cuadro de diálogo, común a toda mi aplicación.

Me gustaría deshabilitar el interceptor para algunas llamadas específicas, pero prefiero deshabilitar el comportamiento predeterminado donde llamo a http, en lugar de escribir una excepción en el interceptor. ¿Alguien ha encontrado este problema?

Puedo ser más específico con un ejemplo, si es necesario.

Saludos

david

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede usar HttpBackend para hacer esto.

Descripción: cuando se inyecta, HttpBackend envía las solicitudes directamente al backend, sin pasar por la cadena de interceptores.

Usando: puede usar lo mismo que HttpClient importándolo desde @angular/common/http

Ejemplo:

 import { HttpClient, HttpBackend } from '@angular/common/http'; ... @Injectable({ providedIn: 'root' }) export class HttpHelperService { private httpClient: HttpClient; constructor( httpBackend: HttpBackend) { this.httpClient = new HttpClient(httpBackend); } // use like normal with HttpClient. However, should name it carefully to separate which http request go throught interceptor and which is not put(path: string, body: Object = {}): Observable<any> { return this.httpClient.put( `${this.URL}${path}`, JSON.stringify(body) ).pipe(catchError(this.formatErrors)); } ....

referencia: https://angular.io/api/common/http/HttpBackend

over 4 years ago · Santiago Trujillo Denunciar

0

Con Angular 12 , ahora es posible incluir algunos metadatos (con HttpContext ) en su llamada que se pueden usar dentro del interceptor para tomar decisiones (o cualquier cosa que realmente desee).

Ejemplo

Su interceptor:

 export const BYPASS_LOG = new HttpContextToken(() => false); export class MyLogInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { if (req.context.get(BYPASS_LOG) === true) return next.handle(req); console.log(`req to ${req.url}`); return next.handle(req); } }

Tu servicio:

 httpClient.get('https://example.com/', { context: new HttpContext().set(BYPASS_LOG, true) });

Puede consultar documentos angulares para obtener más información:

  • Interceptar solicitudes y respuestas.
  • Pasar metadatos a los interceptores
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda