1
00:00:00,270 --> 00:00:00,780
Bienvenidos.

2
00:00:00,810 --> 00:00:04,380
Continuamos con el manejo de errores en el crear, es muy parecido.

3
00:00:04,470 --> 00:00:08,190
También tenemos que trabajar con Response Entity, lo tenemos que retornar.

4
00:00:08,250 --> 00:00:11,430
Por lo tanto, crear un poco más abajo.

5
00:00:11,520 --> 00:00:17,400
Vamos a cambiar el cliente por Response Entity y también tenemos que retornar

6
00:00:20,400 --> 00:00:20,880
el tipo de auto.

7
00:00:20,880 --> 00:00:26,910
En este caso sería cliente porque vamos a retornar el objeto cliente recién creado enlace SEAT que contiene

8
00:00:27,000 --> 00:00:27,630
el Heidy.

9
00:00:28,590 --> 00:00:35,460
Como primer argumento vimos que era el objeto como segundo argumento sería el estado o el estatus de

10
00:00:35,460 --> 00:00:40,020
la respuesta, en este caso un http status crédit.

11
00:00:40,170 --> 00:00:45,480
Lo vamos a copiar acá arriba, lo pegamos acá y por supuesto que vamos a quitar esta anotación, ya

12
00:00:45,480 --> 00:00:50,700
que va a variar dependiendo si todo ocurre perfecto, sin ningún problema, sin ningún error.

13
00:00:50,760 --> 00:00:57,600
Va a retornar el cliente dentro del Response Entity con Crédit, pero si falla va a retornar los mensajes

14
00:00:57,600 --> 00:01:00,120
de errores con un Internal Server.

15
00:01:00,210 --> 00:01:00,540
Error?

16
00:01:00,570 --> 00:01:01,740
Todo depende.

17
00:01:01,860 --> 00:01:04,920
Bien, entonces tenemos que empezar a manejar el error.

18
00:01:05,010 --> 00:01:07,820
Lo primero es crear el cliente, el nuevo cliente.

19
00:01:08,130 --> 00:01:12,180
En realidad esto de acá lo vamos a quitar, vamos a dejar acá.

20
00:01:12,750 --> 00:01:14,400
Este sería el nuevo cliente.

21
00:01:16,740 --> 00:01:22,710
Le podemos colocar cliente new o cliente nuevo y acá iría el cliente new.

22
00:01:22,710 --> 00:01:26,160
Podría tener algún tipo de falla al intentar guardar.

23
00:01:26,190 --> 00:01:32,430
Por ejemplo, si el email es único y lo queremos tablecer como único enlace dato y además que no sea

24
00:01:32,520 --> 00:01:33,030
nulo.

25
00:01:33,090 --> 00:01:38,830
Si se definen los datos como no nulo y lo dejamos nulo, va a lanzar un error y eso lo tenemos que manejar.

26
00:01:39,150 --> 00:01:43,500
Entonces con un trae un catch vamos a dejar acá el catch.

27
00:01:48,270 --> 00:01:55,650
Cliente Naidu Entonces lo dejamos dentro de él trae y lo dejamos como nul acá arriba.

28
00:01:55,860 --> 00:01:57,660
Si todo ocurre bien, no hacemos nada.

29
00:01:57,690 --> 00:02:05,310
Si hay un problema en el catch, vamos a necesitar también el map, tal como lo teníamos arriba y empezamos

30
00:02:05,310 --> 00:02:06,510
a agregar los mensajes de error.

31
00:02:06,540 --> 00:02:07,890
Primero el mensaje.

32
00:02:08,220 --> 00:02:09,510
Acá ocurrió un error.

33
00:02:09,600 --> 00:02:11,750
Y lo segundo sería exactamente igual.

34
00:02:14,700 --> 00:02:15,540
Pero ÂQuÃ error!

35
00:02:15,630 --> 00:02:24,210
Al realizar el insert enlace atto y acá tenemos el objeto error completo con toda la traza y el detalle

36
00:02:24,300 --> 00:02:25,260
de por qué ocurrió.

37
00:02:25,320 --> 00:02:29,760
Por ejemplo, si un dato es nulo, el email podría estar duplicado.

38
00:02:29,820 --> 00:02:32,430
En fin, cualquier cosa que podría ocurrir en el servidor.

39
00:02:32,490 --> 00:02:34,140
Problema de sintaxis, lo que sea.

40
00:02:35,520 --> 00:02:36,270
Y qué faltaría?

41
00:02:36,360 --> 00:02:42,450
Bueno, tenemos que también retornar el response entity con el map con mensaje de error, también del

42
00:02:42,450 --> 00:02:44,700
tipo Internal Server error.

43
00:02:45,780 --> 00:02:49,260
Así que también podríamos copiar y pegar esto acá abajo tal cual.

44
00:02:49,320 --> 00:02:52,620
Sería exactamente igual con el mensaje y con el error.

45
00:02:53,310 --> 00:02:58,800
Hasta ahí estamos casi listos, pero podríamos querer enviar un mensaje al cliente en caso de que si

46
00:02:58,800 --> 00:03:04,650
todo sale bien sin error o algún mensaje, por ejemplo, el cliente se ha creado con éxito y mandamos

47
00:03:04,650 --> 00:03:06,750
un mensaje de éxito al usuario.

48
00:03:07,110 --> 00:03:13,050
Entonces, en este caso, en vez de pasar un cliente acá en el Ripollet Entity, podríamos pasar un

49
00:03:13,050 --> 00:03:16,170
mapp con un mensaje y también con el cliente.

50
00:03:16,590 --> 00:03:24,800
Por ejemplo, vamos a colocar acá un mensaje, pero en este caso sería un mensaje de éxito.

51
00:03:25,200 --> 00:03:26,670
El cliente ha sido creado con éxito.

52
00:03:33,000 --> 00:03:39,450
Llega mensaje y por supuesto que tenemos que retomar también el cliente, el cliente new.

53
00:03:45,460 --> 00:03:48,120
Y acá en Value pasamos el cliente nuevo.

54
00:03:48,930 --> 00:03:53,610
Entonces en el MAP vamos a tener el mensaje y también el objeto cliente.

55
00:03:53,700 --> 00:03:56,550
Y por supuesto que acampemos en vez de pasar el cliente new.

56
00:03:56,580 --> 00:03:58,920
Pasamos el response.

57
00:03:59,820 --> 00:04:01,980
Pero sería el response deéxito.

58
00:04:02,340 --> 00:04:03,030
Y qué pasa?

59
00:04:03,390 --> 00:04:05,160
Ya no es cliente, es un mapa.

60
00:04:05,850 --> 00:04:10,590
Entonces cambiamos también el tipo acá en vez de cliente, el MAP.

61
00:04:11,310 --> 00:04:12,630
Ahí tenemos el metro.

62
00:04:12,900 --> 00:04:15,480
El siguiente paso es ir a la clase Entity.

63
00:04:15,720 --> 00:04:24,190
Vamos a ir a nuestra clase Entity cliente y vamos a cambiar acá nombre y el email.

64
00:04:24,600 --> 00:04:28,070
Por ejemplo, vamos a agregar el colum.

65
00:04:28,710 --> 00:04:34,260
A indicar que el nombre no puede ser nulo, nu lable.

66
00:04:34,380 --> 00:04:36,450
Le ponemos igual a fols.

67
00:04:37,290 --> 00:04:39,020
Ya que por defecto es true.

68
00:04:39,960 --> 00:04:42,300
Y esto mismo también en el email.

69
00:04:42,360 --> 00:04:43,980
El email tampoco puede ser.

70
00:04:44,310 --> 00:04:46,560
Además, el email tiene que ser único.

71
00:04:46,620 --> 00:04:50,750
No se puede duplicar y únic true.

72
00:04:50,880 --> 00:04:51,470
Entonces conecto.

73
00:04:51,480 --> 00:04:57,120
Ya podemos emular algún tipo de error para ver qué pasa en el Tri y el catch acá.

74
00:04:57,180 --> 00:05:02,130
Por ejemplo, si colocamos el email repetido o si omitimos el nombre, lo dejamos en NULL.

75
00:05:02,220 --> 00:05:02,670
En fin.

76
00:05:03,690 --> 00:05:06,480
Vamos a guardar y vamos a ejecutar.

77
00:05:06,570 --> 00:05:07,260
Vamos a probar.

78
00:05:07,710 --> 00:05:08,610
Clic derecho.

79
00:05:09,210 --> 00:05:09,990
Ejecutamos.

80
00:05:15,530 --> 00:05:23,390
Bien, en Postman primero vamos a ir, por ejemplo, a Cliente 1, vamos a enviar, vamos a copiar este

81
00:05:23,510 --> 00:05:31,070
Jason, vamos a copiar y vamos a cambiar acá la ruta, vamos a cambiar a post, vamos a quitar el Heidy

82
00:05:31,190 --> 00:05:38,240
y solamente clientes que para crear, para crear, entonces el tipo post y a clientes revisemos de manera

83
00:05:38,990 --> 00:05:47,840
nos vamos a Crédit, vemos que post y laureles es happy carriel lo tenemos Happy Larch clientes estemos

84
00:05:47,840 --> 00:05:53,330
listos para crear 1 cliente nos vamos a ir al Boddy ya que tenemos que guardar enviar un nuevo cliente

85
00:05:53,390 --> 00:05:54,350
en formato JSON.

86
00:05:54,440 --> 00:05:58,930
Seleccionamos Body Row, end row, seleccionamos Jason.

87
00:05:59,060 --> 00:06:02,150
Es importante que sea del tipo Aplique esto Yahtzee.

88
00:06:02,270 --> 00:06:04,250
Eso es lo que estamos manejando en el paquete.

89
00:06:04,430 --> 00:06:07,130
Vamos a pegar nuestro Yeison que copiamos.

90
00:06:07,220 --> 00:06:14,450
También lo puede escribir a mano y Leydi se genera de forma automática el nombre, por ejemplo, fulano

91
00:06:14,630 --> 00:06:21,380
del apellido, sultando fulano y qué se yo, cualquier fecha.

92
00:06:24,400 --> 00:06:24,910
Enviar.

93
00:06:26,810 --> 00:06:33,050
Y entrega nuestro nuevo Yeison se fija en que nuestro nuevo Yeison, nuestra nueva respuesta del tipo

94
00:06:33,140 --> 00:06:41,420
créete 200 1 y además retorna el cliente en el Jaison con el mensaje el cliente ha sido querido conexo,

95
00:06:41,570 --> 00:06:44,120
que fue justo lo que configuramos recién en el paquete.

96
00:06:44,600 --> 00:06:46,130
Ahora vamos a emular un error.

97
00:06:46,160 --> 00:06:49,970
Simplemente vamos a tratar de crear nuevamente este fulano.

98
00:06:50,690 --> 00:06:56,690
Simplemente colocábamos cent. a ocurrir un error error al realizar el insert en la seaton.

99
00:06:57,530 --> 00:07:01,190
No se puede ejecutar por el Constraint ya que es único.

100
00:07:01,310 --> 00:07:04,520
El email se fijan ahí todo manejando el error.

101
00:07:04,790 --> 00:07:05,170
Perfecto.

102
00:07:05,180 --> 00:07:06,470
Coloquemos Fulano 2.

103
00:07:07,820 --> 00:07:09,720
Y el nombre lo vamos a omitir.

104
00:07:10,490 --> 00:07:13,080
Solamente lapido el email y el AT.

105
00:07:14,030 --> 00:07:16,430
Intentemos otro error.

106
00:07:16,820 --> 00:07:21,350
Acá dice que Constraint NULL la columna nombre no puede ser nula.

107
00:07:22,540 --> 00:07:24,110
Vamos a quitar elementos.

108
00:07:26,070 --> 00:07:27,810
Ahora el email no puede ser.

109
00:07:28,110 --> 00:07:30,550
Entonces todo manejando como corresponde los errores.

110
00:07:30,900 --> 00:07:35,180
Y además el estatus 500 Internal Server error bien.

111
00:07:35,280 --> 00:07:37,980
Y por último, para finalizar, pegamos la consola.

112
00:07:38,040 --> 00:07:39,030
Qué mensaje muestra?

113
00:07:39,090 --> 00:07:39,840
También lo mismo.

114
00:07:39,930 --> 00:07:41,970
Entrada duplicada por el correo.

115
00:07:42,270 --> 00:07:45,540
Me muestra que el nombre no puede ser nulo y el email tampoco.

116
00:07:45,630 --> 00:07:49,830
Si vamos más arriba, cuando arranca la aplicación, crea la tabla de forma automática.

117
00:07:50,040 --> 00:07:51,900
La tabla, por ejemplo, clientes.

118
00:07:53,590 --> 00:07:57,430
Si revisamos el esquema acá dice que el nombre.

119
00:07:58,950 --> 00:08:04,560
No puede ser nulo el email tampoco, pues el nulo es por la configuración, mientras que la fecha si

120
00:08:04,650 --> 00:08:06,510
el apellido fuese nulo.

121
00:08:06,740 --> 00:08:11,460
Bueno, el Heidy tampoco porque es una llave primaria, jamás puede ser nula.

122
00:08:12,210 --> 00:08:19,290
Y también por acá tenemos el construe, un alter table clientes y agrega constraint para el email que

123
00:08:19,290 --> 00:08:20,280
sea único.

124
00:08:21,060 --> 00:08:26,160
Estas configuraciones del Nü Lable y el Ionic son para el esquema de tablas.

125
00:08:26,190 --> 00:08:30,360
Cuando se crea de forma automática a partir de la clase sentit, eso es todo por ahora.

126
00:08:30,720 --> 00:08:32,850
Cosa que tengan la escribes en el foro.

127
00:08:32,940 --> 00:08:33,630
Nos vemos.
