Bien, en el ejemplo estamos retomando siempre un thru, porque en realidad no estamos peleando nada.
Entonces, bueno, podríamos también retornar un FOLS en un contexto de validación, por ejemplo, si
falla alguna validación que queremos implementar.
Bueno, el ejemplo típico un login de usuario cuando queremos preguntar si el usuario ha iniciado sesión,
si está autenticado, si es true.
Bueno, lo dejamos pasar al controlador que invoque los métodos handler sin ningún problema, pero de
lo contrario, si no tiene sesión retornamos un fols.
Y por supuesto que el método del controlador no se invoca en ningún momento se va a ejecutar porque
con fols.
Como ya he explicado en la primera clase, no continúa con la ejecución normal el flujo de nuestra aplicación,
sino que queda hasta ahí y podemos manejar la respuesta en el interceptor, por ejemplo, redirigir
a otra ruta, como por ejemplo voy a retornar fols.
Solamente para ejemplo.
Esto, por favor, no es necesario que lo hagan, lo pueden omitir.
Solamente pongan atención para que lo vean nada más.
Pero siempre Jeffords Bueno, debe ir acompañado de un rey directa, modificar la respuesta, redirigir
a otra ruta, porque si no, bueno, veamos qué pasa.
Ya tengo la ental bokken, así que vamos al navegador, ven con el pack que me refiero.
Ya tengo lantado la aplicación de Spring, el controlador y todo está levantado.
Así que ejecutamos el formulario.
Se fijan, no carga el formulario, por lo tanto nos llama al controlador.
Queda hasta ahí.
De hecho, no tiene respuesta.
Se genera una página en blanco.
Entonces la idea es modificar la respuesta.
Por ejemplo, realizando un directo, redirigir a otro controlador, a otra ruta, otro método.
Handler Bueno, puede ser otro controlador o el mismo controlador con otra página, otra vista o ruta.
Bueno, y cómo sería bueno?
Este ejemplo es para que lo puedan visualizar, pero voy a redirigir a una ruta que no tengo implementada,
por ejemplo login de otra forma para dirigir, pero por supuesto que va a lanzar un 404, que la página
no existe, pero lo mismo es solamente para demostrar.
Entonces es con el objeto response.
Vamos a cambiar la ruta porque ya tenemos el método Scent Red Direct o enviar una redirección Location.
La ruta con Spring Boot.
Siempre la ruta tiene que partir del contexto del path base o la ruta base de nuestra aplicación request
punto get contexto.
Bueno, por general este context path es vacío.
En Spring Puto, ya que no tiene un nombre de proyecto en la ruta, pero lo podría tener.
Por ejemplo, podríamos indicar en la configuración de Spring Put cuál es nuestra ruta base.
Aunque la mitad de los casos no necesario, pero en caso de que lo tengamos o si publicamos, por ejemplo
en un servidor externo, el context path sería nombre del lugar que estemos publicando, por ejemplo,
en un thon сайта externo o en cualquier servidor de aplicación, en un glacis, en un japonés.
Da lo mismo, pero siempre tiene que ir acá y concatenados.
Punto con Cat.
Es Larch y la ruta lo oyen?
Bueno, insisto, esta ruta no existe ya.
Así que no se preocupen, pero la idea es redirigir a una página, por ejemplo Login o donde creo manejar
esta respuesta que falló la validación.
Voy a guardar.
Esperemos que se actualice.
Actualizamos acá y si se fijan, va a redirigir actualizar login.
Se fijan campeón.
La ruta está perfecto.
Bueno, obviamente 404, claro, porque la página login no existe, pero da lo mismo.
Igual la podríamos crear.
Iba a mostrar esa página para manejar la respuesta cuando falla la validación en el interceptor.
O quizá ni siquiera sea necesario login.
Bueno, en el caso de un sistema usuario está bien, pero si estamos peleando otra cosa y queremos dar
un mensaje de que falló.
Bueno, podríamos redirigir a una ruta del controlador que carga una vista con un mensaje, por ejemplo,
y ya atendemos de tal a tal hora o estamos fuera de horario de atención.
En fin, lo que sea, o por el momento esta página no está disponible.
Pero lo importante es comprender que con FOLS y con response podemos cambiar nuestra respuesta y no
cargar el Methos, sino cargar otro método del mismo controlador o de otro controlador.
Cambiar la respuesta voy a dejar como estaba porque era solamente para aplicar nada más.
Entonces voy a dejar todo como estaba.
Vamos a retornar true porque al final este interceptor no valida nada.
Solamente realiza un calculo que el tiempo transcurrido, es decir que envuelve el método del controlador
para calcular el tiempo ejecución.
Guardamos y listo.
Vamos a cerrar todo.
Y a partir de la próxima clase vamos a ver un ejemplo también de interceptor, con una variación en
el ejemplo horario de atención.
Es decir, desde un rango de hora se va a mostrar y se va a cargar el controlador con el método Handler.
Pero si estamos fuera del horario de atención, la idea es que cargue otra página con un mensaje que
diga estamos fuera de horario de atención.
Nos vemos en la siguiente clase.