¿Qué es Jackson y qué pasa en @RestController cuando un método devuelve un objeto?
Opciones
- Jackson es un test runner, así que el objeto devuelto se ignora
- Jackson es la librería JSON por defecto para convertir objetos (Opción correcta)
- Jackson cifra los datos devueltos antes de enviarlos
- 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.