Un interceptor es un servicio que permite “capturar” los request o response de nuestra aplicación en la comunicación con servicios externos, permitiéndonos transformarlos, ya sea, para agregarle información, como por ejemplo un token de autenticación o un header, o para realizar algún tratamiento en los datos que se requiera, retornando un observable como respuesta –lo que ayuda también al manejo centralizado de errores-.
Esta característica se incorporó a Angular a partir de la
implementación del servicio HTTPClient (allá por la versión 4.3) y se requiere
crear una clase Injectable que implemente la interface HTTInterceptor.
Este servicio es comúnmente utilizado también, en conjunto con un
Loader Service, para mostrar una animación que indique que el contenido se está
cargando (“loader”) o para capturar el tiempo de la solicitud y respuesta, y
así registrar el resultado con el tiempo transcurrido. También podría usarse como
MOCK o para la simulación de un backend, para el desarrollo cuando aún no se lo
tiene construido -cargando datos de test y luego devolviéndolos a través de un
observable de HttpResponse-.
Pero no debe confundirse con los Guards –ya hablaremos en otro
post sobre estos-, que se encargan de las “vistas”, mientras que éstos, de los “envíos
y respuestas” con el exterior.

No hay comentarios.:
Publicar un comentario