Bienvenidos.
Continuamos con el manejo de errores en el crear, es muy parecido.
También tenemos que trabajar con Response Entity, lo tenemos que retornar.
Por lo tanto, crear un poco más abajo.
Vamos a cambiar el cliente por Response Entity y también tenemos que retornar
el tipo de auto.
En este caso sería cliente porque vamos a retornar el objeto cliente recién creado enlace SEAT que contiene
el Heidy.
Como primer argumento vimos que era el objeto como segundo argumento sería el estado o el estatus de
la respuesta, en este caso un http status crédit.
Lo vamos a copiar acá arriba, lo pegamos acá y por supuesto que vamos a quitar esta anotación, ya
que va a variar dependiendo si todo ocurre perfecto, sin ningún problema, sin ningún error.
Va a retornar el cliente dentro del Response Entity con Crédit, pero si falla va a retornar los mensajes
de errores con un Internal Server.
Error?
Todo depende.
Bien, entonces tenemos que empezar a manejar el error.
Lo primero es crear el cliente, el nuevo cliente.
En realidad esto de acá lo vamos a quitar, vamos a dejar acá.
Este sería el nuevo cliente.
Le podemos colocar cliente new o cliente nuevo y acá iría el cliente new.
Podría tener algún tipo de falla al intentar guardar.
Por ejemplo, si el email es único y lo queremos tablecer como único enlace dato y además que no sea
nulo.
Si se definen los datos como no nulo y lo dejamos nulo, va a lanzar un error y eso lo tenemos que manejar.
Entonces con un trae un catch vamos a dejar acá el catch.
Cliente Naidu Entonces lo dejamos dentro de él trae y lo dejamos como nul acá arriba.
Si todo ocurre bien, no hacemos nada.
Si hay un problema en el catch, vamos a necesitar también el map, tal como lo teníamos arriba y empezamos
a agregar los mensajes de error.
Primero el mensaje.
Acá ocurrió un error.
Y lo segundo sería exactamente igual.
Pero ÂQuÃ error!
Al realizar el insert enlace atto y acá tenemos el objeto error completo con toda la traza y el detalle
de por qué ocurrió.
Por ejemplo, si un dato es nulo, el email podría estar duplicado.
En fin, cualquier cosa que podría ocurrir en el servidor.
Problema de sintaxis, lo que sea.
Y qué faltaría?
Bueno, tenemos que también retornar el response entity con el map con mensaje de error, también del
tipo Internal Server error.
Así que también podríamos copiar y pegar esto acá abajo tal cual.
Sería exactamente igual con el mensaje y con el error.
Hasta ahí estamos casi listos, pero podríamos querer enviar un mensaje al cliente en caso de que si
todo sale bien sin error o algún mensaje, por ejemplo, el cliente se ha creado con éxito y mandamos
un mensaje de éxito al usuario.
Entonces, en este caso, en vez de pasar un cliente acá en el Ripollet Entity, podríamos pasar un
mapp con un mensaje y también con el cliente.
Por ejemplo, vamos a colocar acá un mensaje, pero en este caso sería un mensaje de éxito.
El cliente ha sido creado con éxito.
Llega mensaje y por supuesto que tenemos que retomar también el cliente, el cliente new.
Y acá en Value pasamos el cliente nuevo.
Entonces en el MAP vamos a tener el mensaje y también el objeto cliente.
Y por supuesto que acampemos en vez de pasar el cliente new.
Pasamos el response.
Pero sería el response deéxito.
Y qué pasa?
Ya no es cliente, es un mapa.
Entonces cambiamos también el tipo acá en vez de cliente, el MAP.
Ahí tenemos el metro.
El siguiente paso es ir a la clase Entity.
Vamos a ir a nuestra clase Entity cliente y vamos a cambiar acá nombre y el email.
Por ejemplo, vamos a agregar el colum.
A indicar que el nombre no puede ser nulo, nu lable.
Le ponemos igual a fols.
Ya que por defecto es true.
Y esto mismo también en el email.
El email tampoco puede ser.
Además, el email tiene que ser único.
No se puede duplicar y únic true.
Entonces conecto.
Ya podemos emular algún tipo de error para ver qué pasa en el Tri y el catch acá.
Por ejemplo, si colocamos el email repetido o si omitimos el nombre, lo dejamos en NULL.
En fin.
Vamos a guardar y vamos a ejecutar.
Vamos a probar.
Clic derecho.
Ejecutamos.
Bien, en Postman primero vamos a ir, por ejemplo, a Cliente 1, vamos a enviar, vamos a copiar este
Jason, vamos a copiar y vamos a cambiar acá la ruta, vamos a cambiar a post, vamos a quitar el Heidy
y solamente clientes que para crear, para crear, entonces el tipo post y a clientes revisemos de manera
nos vamos a Crédit, vemos que post y laureles es happy carriel lo tenemos Happy Larch clientes estemos
listos para crear 1 cliente nos vamos a ir al Boddy ya que tenemos que guardar enviar un nuevo cliente
en formato JSON.
Seleccionamos Body Row, end row, seleccionamos Jason.
Es importante que sea del tipo Aplique esto Yahtzee.
Eso es lo que estamos manejando en el paquete.
Vamos a pegar nuestro Yeison que copiamos.
También lo puede escribir a mano y Leydi se genera de forma automática el nombre, por ejemplo, fulano
del apellido, sultando fulano y qué se yo, cualquier fecha.
Enviar.
Y entrega nuestro nuevo Yeison se fija en que nuestro nuevo Yeison, nuestra nueva respuesta del tipo
créete 200 1 y además retorna el cliente en el Jaison con el mensaje el cliente ha sido querido conexo,
que fue justo lo que configuramos recién en el paquete.
Ahora vamos a emular un error.
Simplemente vamos a tratar de crear nuevamente este fulano.
Simplemente colocábamos cent. a ocurrir un error error al realizar el insert en la seaton.
No se puede ejecutar por el Constraint ya que es único.
El email se fijan ahí todo manejando el error.
Perfecto.
Coloquemos Fulano 2.
Y el nombre lo vamos a omitir.
Solamente lapido el email y el AT.
Intentemos otro error.
Acá dice que Constraint NULL la columna nombre no puede ser nula.
Vamos a quitar elementos.
Ahora el email no puede ser.
Entonces todo manejando como corresponde los errores.
Y además el estatus 500 Internal Server error bien.
Y por último, para finalizar, pegamos la consola.
Qué mensaje muestra?
También lo mismo.
Entrada duplicada por el correo.
Me muestra que el nombre no puede ser nulo y el email tampoco.
Si vamos más arriba, cuando arranca la aplicación, crea la tabla de forma automática.
La tabla, por ejemplo, clientes.
Si revisamos el esquema acá dice que el nombre.
No puede ser nulo el email tampoco, pues el nulo es por la configuración, mientras que la fecha si
el apellido fuese nulo.
Bueno, el Heidy tampoco porque es una llave primaria, jamás puede ser nula.
Y también por acá tenemos el construe, un alter table clientes y agrega constraint para el email que
sea único.
Estas configuraciones del Nü Lable y el Ionic son para el esquema de tablas.
Cuando se crea de forma automática a partir de la clase sentit, eso es todo por ahora.
Cosa que tengan la escribes en el foro.
Nos vemos.