Repaso
English
Spring, JPA y Java WebIntermedioSPR-30

¿Qué es Jackson y qué pasa en @RestController cuando un método devuelve un objeto?

Opciones

  1. Jackson es un test runner, así que el objeto devuelto se ignora
  2. Jackson es la librería JSON por defecto para convertir objetos (Opción correcta)
  3. Jackson cifra los datos devueltos antes de enviarlos
  4. Jackson es una base de datos donde el objeto se guarda después

Respuesta

Jackson es la librería JSON por defecto: Spring la usa para convertir el objeto devuelto a JSON (y el JSON de las peticiones a objetos)

Por qué

Jackson (ObjectMapper) serializa objetos Java a JSON y deserializa JSON a objetos Java. Spring Boot lo incluye con el web starter.

Anotaciones útiles: @JsonIgnore (ocultar un campo), @JsonProperty("user_name") (renombrar), @JsonFormat (formato de fecha).

Problema común: serializar una entidad JPA con relaciones bidireccionales puede entrar en bucle infinito; los DTOs lo evitan.

Recuerda

Jackson = objeto Java a JSON y viceversa.

Términos clave

Practica esta pregunta en Repaso