Ahora tenemos que manejar, capturar estos horrores que nos envía el backend, un mensaje de validación
y de alguna forma manejarlo en Angular para mostrárselo al cliente de una forma más amistosa.
Pero antes habíamos implementado un operador catch error que nos permite justamente manejar errores
que vienen con algún código del http response.
Así que nos vamos a ir al clientes y la clase servis.
Bien es el crear.
Acá tenemos que manejar el error, tanto en el crear como en el adeu.
Partamos primero por el crear.
Justamente acá en el catch error.
Acá tenemos que controlar, por ejemplo, usando un if y tenemos que preguntar.
Preguntar si el status del error es 400.
Es un path.
Recuesto el objeto.
Error tiene el atributo status que viene con el código de la respuesta.
En este caso tenemos que preguntarse 400 por qué se Quattrocento viene de la validación?
Un padre request y lo tenemos que manejar de forma distinta que los otros errores.
Los otros errores simplemente utilizamos Swett Alert para mostrar el mensaje al usuario, pero acá es
distinto.
De partida, contiene varios errores y no solo un mensaje error.
Además, tampoco tenemos el atributo mensaje ni el atributo error.
Si nos vamos al Wacken Spring, vamos al controlador.
Y revisamos en el crear, que lo guardamos en el atributo erros.
Entonces se tiene que manejar distinto, ya que si lo pasamos al SUÍ, Tauler va a lanzar un error de
que no existe el mensaje.
El atributo mensaje en el JSON.
Y tampoco existe el error si no es errors.
Son varios mensajes del formulario.
Entonces acá simplemente lo tenemos que retornar.
Retornamos el error para que el componente ahora se encargue de manejar este error.
Se encarga de controlar los errores, lo captura el componente en el método SUSCRI.
Capturamos el error y pasamos estos errores a la plantilla para mostrarlo.
Así de simple.
Entonces vamos a replicar.
Vamos a copiar este mismo en el Auteuil.
Y guardamos vámonos ahora al componente de formulario.
Entonces, en el Créate y también en el ataque, dentro de suscrip tenemos que manejar este error,
capturar los mensajes y lo desplegamos, lo mostramos.
Pero primero tenemos que tener un atributo que contenga un arreglo de errores de mensajes del tipo String.
Entonces privat errores o errores, como le queramos llamar del tipo string corchete, ya que es un
arreglo bien.
El método suscribe puedo manejar el éxito cuando todo sale bien, que sería el primer argumento.
Pero también como segundo parámetro podemos suscribir a un observador y manejar cuando las cosas salen
mal, cuando ocurre un error.
Justamente lo que está sucediendo ahora, ya que estamos retornando la excepción en la clase servis
para que lo maneje el componente formulario en el Sustraen, entonces el segundo parámetro sería una
coma.
Acá tenemos el parámetro error que estamos recibiendo por argumento muy parecido acá.
Como recibimos el cliente, cuando todo sale bien acá obtenemos el error.
Acá lo manejamos también utilizando una expresión lanta.
Entonces la idea es poblar o pasar los errores al atributo errors o errores.
Entonces sería disputo errores.
Dice porque es un atributo de la clase y acá tenemos el parámetro y el argumento.
Error, error, error que sería el atributo de Turquito error que contiene es Jason y Jason.
Pasamos los errores dentro del parámetro errors.
Como viene el tipo Henny hoy, dice Henny, un tipo genérico flexible, lo convertimos a un tipo un
poco más estricto, que sería un arreglo de string.
El mismo tipo es opcional solamente para que nuestro código sea un poco más estricto con los tipos de
nada más opcionalmente.
Y esto es opcional.
Si queremos, podría mostrar luego mensajes de errores también en la consola del navegador.
Entonces también podría mostrar esto mismo.
Y también podría mostrar el estatus.
Por ejemplo.
Código el error desde el Wacken y acá debería mostrar el 400 y esto mismo lo vamos a replicar en el
método ADD.
Entonces copiamos desde la coma hasta el cierre de la llave y lo dejamos acá en el ATE.
Y guardamos bien.
Eso sería todo súper simple.
En la próxima clase vamos a implementar los mensajes de error en nuestra vista, es decir, lo vamos
a mostrar dentro de un contenedor con una clase con estilos del tipo Alert Danger que se vieran en rojo
como mensajes de error.
Bien, por ahora quedamos hasta acá y cualquier duda que tengas, escríbela en el foro.
Nos vemos.