Lo primero nos vamos al Interceptor y le damos un nombre al componente para que después lo podamos inyectar
con un coali Fayette, un calificador por la interfaz.
Entonces por acá horario simplemente horario, horario interceptor, pero con horario está perfecto.
Guardamos.
Vamos a crear una clase acá en el paquete base.
MS confi.
Entonces lo primero anotar configuré tan importante y no configurable, configuré schön simplement
importamos y solo escribimos con o de raid por aca en sors.
O de right?
Agregar interceptores ad interceptores.
Perfecto.
Primero tenemos que inyectar entonces con el tipo genérico.
Handler Interceptor.
Horario.
Importamos la interfaz genérica, anotamos con Colifata.
Pero antes con Auto Witten, ahora con Quali Falla
y le damos el nombre horario que le dimos acá mismo nombre.
Importamos.
Entonces, utilizando Registry
punto, add interceptor horario, bien lo vamos a probar, pero desde ya vamos a tener un error, un
problema y quiero que lo veamos para que lo comprendan y lo vean.
Así que ejecutamos.
Bueno, se supone que este interceptor se aplica a todo, a todos los controladores metodo Andrè, a
todo.
Bueno, actualmente mi hora son cercano las 11 a.m., las 11 a.m..
Por lo tanto, se supone que yo estoy fuera del rango atención de que a partir de las 14 horas en adelante,
por lo tanto debiera de redirigir cierto aserrado acá porque estoy fuera del horario.
Ok, acá va a redirigir, pero cuál sería el error que vamos a tener el problema?
Vamos al navegador local host.
Recuerden que está en index o en la raíz.
Esta página no funciona.
La página localhost sea redirigido demasiadas veces.
Y justamente recuerden que este interceptor se aplica a todos los controladores, a todos los métodos
Andrés incluyendo a cerrado.
Entonces claro, index está fuera de horario, por lo tanto redirige a cerrado, pero cerrado también
es interceptado y vuelve a redirigir a cerrado una y otra vez un loop infinito.
Bueno, y cómo lo podemos evitar cuando tenemos un camino alternativo del interceptor?
Este camino alternativo no se tiene que aplicar el interceptor.
Entonces lo tenemos que excluir.
Entonces nos vamos a la configuración ms config y acá punto excluir path o ruta.
Acá podemos excluir la ruta, es decir, que se aplique a todo menos por ejemplo.
Y también el separador coma puede excluir más de una cerrada.
Entonces ahí guardamos y dice que sí porque se aplica todo a todos los controladores y método handler,
incluyendo index, la raíz o cualquier otro que tengamos lo mismo.
Cualquiera menos a cerrado, cerrado se excluye.
Entonces es por eso importante que el camino alternativo siempre se excluya del interceptor.
Bueno, y sería lo mismo, por ejemplo, en un sistema de autenticación, un sistema login de usuario,
la página de login o el formulario login se debiera de excluir, no aplicar al interceptor que va al
día de la sesión, por ejemplo, perfectas GijÃn.
Ahora sí que funciona fuera de horario.
Atención cerrado, por favor, visítanos desde las 14 y las 18 horas.
No sé, voy a volver.
Nos vamos al Index y redirige a cerrado.
Si me voy a la raíz enter también a cerrado y así a cualquier ruta.
Ahora, qué pasa si nos vamos acá?
Esto en Properties y cambio Ranko, por ejemplo, un rango que esté dentro de la hora actual.
Por ejemplo, solo once de la mañana, apertura desde las 10.
Hasta las catorce horas, por poner un ejemplo, guardamos, esperemos que se actualice.
Índex Bienvenido a la retención a clientes.
Perfecto.
Está funcionando bien.
Atendemos desde las 10 hasta las 14 horas.
Bueno, está bien.
Gracias por su visita.
Bueno, es un ejemplo, pero acá debiera haber alguna aplicación para atención de clientes, algún sistema.
Ahora sí que estamos ok.
Bien, continuamos en la siguiente clase.