1
00:00:00,150 --> 00:00:05,190
Ahora tenemos que manejar, capturar estos horrores que nos envía el backend, un mensaje de validación

2
00:00:05,250 --> 00:00:10,080
y de alguna forma manejarlo en Angular para mostrárselo al cliente de una forma más amistosa.

3
00:00:10,140 --> 00:00:15,870
Pero antes habíamos implementado un operador catch error que nos permite justamente manejar errores

4
00:00:15,930 --> 00:00:18,960
que vienen con algún código del http response.

5
00:00:19,320 --> 00:00:22,980
Así que nos vamos a ir al clientes y la clase servis.

6
00:00:24,290 --> 00:00:25,550
Bien es el crear.

7
00:00:25,640 --> 00:00:29,680
Acá tenemos que manejar el error, tanto en el crear como en el adeu.

8
00:00:30,110 --> 00:00:31,310
Partamos primero por el crear.

9
00:00:31,370 --> 00:00:33,260
Justamente acá en el catch error.

10
00:00:33,380 --> 00:00:38,150
Acá tenemos que controlar, por ejemplo, usando un if y tenemos que preguntar.

11
00:00:38,150 --> 00:00:41,510
Preguntar si el status del error es 400.

12
00:00:41,600 --> 00:00:42,320
Es un path.

13
00:00:42,380 --> 00:00:46,430
Recuesto el objeto.

14
00:00:46,550 --> 00:00:51,560
Error tiene el atributo status que viene con el código de la respuesta.

15
00:00:51,650 --> 00:00:56,840
En este caso tenemos que preguntarse 400 por qué se Quattrocento viene de la validación?

16
00:00:56,900 --> 00:01:00,950
Un padre request y lo tenemos que manejar de forma distinta que los otros errores.

17
00:01:01,010 --> 00:01:06,740
Los otros errores simplemente utilizamos Swett Alert para mostrar el mensaje al usuario, pero acá es

18
00:01:06,740 --> 00:01:07,340
distinto.

19
00:01:07,430 --> 00:01:11,570
De partida, contiene varios errores y no solo un mensaje error.

20
00:01:11,690 --> 00:01:15,530
Además, tampoco tenemos el atributo mensaje ni el atributo error.

21
00:01:15,830 --> 00:01:19,460
Si nos vamos al Wacken Spring, vamos al controlador.

22
00:01:20,560 --> 00:01:24,850
Y revisamos en el crear, que lo guardamos en el atributo erros.

23
00:01:25,570 --> 00:01:31,090
Entonces se tiene que manejar distinto, ya que si lo pasamos al SUÍ, Tauler va a lanzar un error de

24
00:01:31,090 --> 00:01:32,710
que no existe el mensaje.

25
00:01:32,800 --> 00:01:34,270
El atributo mensaje en el JSON.

26
00:01:34,330 --> 00:01:37,430
Y tampoco existe el error si no es errors.

27
00:01:37,450 --> 00:01:39,340
Son varios mensajes del formulario.

28
00:01:39,920 --> 00:01:42,850
Entonces acá simplemente lo tenemos que retornar.

29
00:01:42,910 --> 00:01:48,120
Retornamos el error para que el componente ahora se encargue de manejar este error.

30
00:01:48,130 --> 00:01:52,390
Se encarga de controlar los errores, lo captura el componente en el método SUSCRI.

31
00:01:52,420 --> 00:01:56,590
Capturamos el error y pasamos estos errores a la plantilla para mostrarlo.

32
00:01:56,680 --> 00:01:57,430
Así de simple.

33
00:01:57,490 --> 00:01:58,750
Entonces vamos a replicar.

34
00:01:58,810 --> 00:02:01,330
Vamos a copiar este mismo en el Auteuil.

35
00:02:02,910 --> 00:02:06,420
Y guardamos vámonos ahora al componente de formulario.

36
00:02:08,430 --> 00:02:15,450
Entonces, en el Créate y también en el ataque, dentro de suscrip tenemos que manejar este error,

37
00:02:15,480 --> 00:02:18,420
capturar los mensajes y lo desplegamos, lo mostramos.

38
00:02:18,600 --> 00:02:25,850
Pero primero tenemos que tener un atributo que contenga un arreglo de errores de mensajes del tipo String.

39
00:02:30,210 --> 00:02:35,880
Entonces privat errores o errores, como le queramos llamar del tipo string corchete, ya que es un

40
00:02:35,880 --> 00:02:37,260
arreglo bien.

41
00:02:37,830 --> 00:02:43,920
El método suscribe puedo manejar el éxito cuando todo sale bien, que sería el primer argumento.

42
00:02:44,010 --> 00:02:49,440
Pero también como segundo parámetro podemos suscribir a un observador y manejar cuando las cosas salen

43
00:02:49,440 --> 00:02:51,300
mal, cuando ocurre un error.

44
00:02:51,330 --> 00:02:56,730
Justamente lo que está sucediendo ahora, ya que estamos retornando la excepción en la clase servis

45
00:02:56,760 --> 00:03:02,340
para que lo maneje el componente formulario en el Sustraen, entonces el segundo parámetro sería una

46
00:03:02,340 --> 00:03:02,820
coma.

47
00:03:04,970 --> 00:03:10,310
Acá tenemos el parámetro error que estamos recibiendo por argumento muy parecido acá.

48
00:03:10,670 --> 00:03:14,090
Como recibimos el cliente, cuando todo sale bien acá obtenemos el error.

49
00:03:14,750 --> 00:03:18,440
Acá lo manejamos también utilizando una expresión lanta.

50
00:03:18,500 --> 00:03:23,990
Entonces la idea es poblar o pasar los errores al atributo errors o errores.

51
00:03:24,230 --> 00:03:27,320
Entonces sería disputo errores.

52
00:03:28,420 --> 00:03:34,060
Dice porque es un atributo de la clase y acá tenemos el parámetro y el argumento.

53
00:03:34,150 --> 00:03:41,470
Error, error, error que sería el atributo de Turquito error que contiene es Jason y Jason.

54
00:03:41,500 --> 00:03:45,550
Pasamos los errores dentro del parámetro errors.

55
00:03:48,390 --> 00:03:54,630
Como viene el tipo Henny hoy, dice Henny, un tipo genérico flexible, lo convertimos a un tipo un

56
00:03:54,630 --> 00:03:57,790
poco más estricto, que sería un arreglo de string.

57
00:03:58,260 --> 00:04:03,480
El mismo tipo es opcional solamente para que nuestro código sea un poco más estricto con los tipos de

58
00:04:03,630 --> 00:04:05,040
nada más opcionalmente.

59
00:04:05,130 --> 00:04:06,240
Y esto es opcional.

60
00:04:06,330 --> 00:04:11,800
Si queremos, podría mostrar luego mensajes de errores también en la consola del navegador.

61
00:04:13,860 --> 00:04:15,680
Entonces también podría mostrar esto mismo.

62
00:04:18,010 --> 00:04:20,200
Y también podría mostrar el estatus.

63
00:04:21,300 --> 00:04:22,110
Por ejemplo.

64
00:04:32,000 --> 00:04:39,710
Código el error desde el Wacken y acá debería mostrar el 400 y esto mismo lo vamos a replicar en el

65
00:04:39,710 --> 00:04:40,410
método ADD.

66
00:04:40,520 --> 00:04:46,780
Entonces copiamos desde la coma hasta el cierre de la llave y lo dejamos acá en el ATE.

67
00:04:48,850 --> 00:04:49,870
Y guardamos bien.

68
00:04:49,960 --> 00:04:51,640
Eso sería todo súper simple.

69
00:04:51,770 --> 00:04:56,170
En la próxima clase vamos a implementar los mensajes de error en nuestra vista, es decir, lo vamos

70
00:04:56,170 --> 00:05:02,200
a mostrar dentro de un contenedor con una clase con estilos del tipo Alert Danger que se vieran en rojo

71
00:05:02,260 --> 00:05:03,250
como mensajes de error.

72
00:05:03,370 --> 00:05:07,840
Bien, por ahora quedamos hasta acá y cualquier duda que tengas, escríbela en el foro.

73
00:05:07,900 --> 00:05:08,590
Nos vemos.
