Filtro CPL Polarizado ventajas

Mapear request JSON a Objeto Java - JSON to Object Java

  Recibir datos JSON como Objeto Java SpringBoot


En esta entrada responderemos lo siguiente:

- Recibir petición JSON y convertirlo a objeto o entidad Java 

- Deserializar JSON a objeto Java

- Pasar datos desde JSON a Java SpringBoot

- Recibir objeto/entidad Java desde JSON

- Comunicar Front end con Back end

- Preparar request/petición JSON para pasar datos a Java SpringBoot

Realizaremos un mapeo de una petición JSON de Postman hacia un endpoint o rest controller de Spring Boot y lo obtendremos en un objeto o entidad Java. 

Suponiendo que tenemos una entidad Java llamada Persona y esa entidad tiene varios atributos como lo siguiente: Y queremos enviarle esa estructura de entidad para que el controller de Spring Boot la reciba desde un Front end o desde Postman. El controller recibirá dicha estructura en el body y automáticamente lo convertirá a objeto o entidad Java. En la siguiente imagen se muestra que el método recibirá un objeto Persona.

Por tanto le enviaremos esa estructura para que el endpoint pueda recibirla correctamente y convertirla.


Si imprimimos cada propiedad del objeto obtendremos los datos correctamente.




 El nombre de los atributos tiene que coincidir, además tiene que coincidir con el tipo de dato, si es entero o decimal tiene que ir sin comillas y si es String entonces tiene que ir dentro de comillas.

Ahora imaginemos que queremos enviar una lista Personas. Nuestro endpoint tiene que estar preparado para recibir una lista de tipo Persona. 

Nuestro endpoint ahora quedaría de la siguiente manera:

Para cada estructura de Persona que recibamos imprimiremos sus valores.

La petición o request JSON quedaría de la siguiente manera:

El resultado en Java sería el esperado:

Por ultimo si quisiéramos enviarle también una lista de números de teléfonos, es decir, una Persona puede tener varios números y queremos registrarlos también. Tenemos que modificar nuestro Objeto Persona de la siguiente manera:


Nuestro endpoint quedaría de la siguiente manera:


Para cada número de teléfono que traiga el objeto Persona lo imprimiremos. Tenemos dos forEach uno dentro de otro para recorrer cada elementos de la lista.

El request o petición JSON quedaría de la siguiente manera: De esta menera podemos enviar objetos Java desde un JSON.

El resultado sería:


 

Estás peticiones o request JSON se pueden armar desde un back end, por ejemplo con ReactJS o Angular y muchos otros frameworks que están orientados al front, y de esta manera Java puede procesar la información. 

De manera general esta es la forma más común de comunicar servicios o microservicios que están programados en diferentes lenguajes.

De mi parte sería todo.

Cualquier duda o sugerencia con gusto estaré respondiendo.

Saludos!

 


Comentarios