Implementación de una API RESTful con Spring Framework (IX): Anotaciones @Type, @JsonFormat y @Temporal

, , No Comments
Existen diferentes anotaciones que podemos utilizar en nuestras entidades para dar formato a los valores de sus propiedades. En esta ocasión, hablaremos de las anotaciones @Type, @JsonFormat y @Temporal.



  • @Type: con esta anotación podemos cambiar el tipo de dato que viene de base de datos y convertirlo en otro tipo de dato. Como ejemplo, hemos añadido la propiedad ebook anotada en nuestra entidad Libro, con el fin de conocer si es un libro electrónico o no. En base de datos hemos utilizado una columna de tipo SMALLINT para representar valores boolean (0 y 1). Sin embargo, la propiedad en la entidad es de tipo boolean. Para realizar esta conversión de número a boolean tenemos que utilizar la anotación @Type especificando el tipo de conversión, que en este caso es org.hibernate.type.NumericBooleanType, tal y como se muestra en la línea 34. 
  • @JsonFormat: esta anotación permite formatear el valor de una propiedad en el momento de serialización de los datos. Hemos utilizado esta anotación para dar formato a la propiedad timestampInsercion, que indica la fecha de inserción de un libro en base de datos. Así, cuando obtenemos el JSON de un libro, la propiedad timestampInsercion se formateará siguiendo el patrón y el horario GMT especificado, tal y como se puede apreciar en la línea 38. 
  • @Temporal: sirve para especificar la precisión temporal de una propiedad de tipo Date. De esta forma, puede ser de tipo TIMESTAMP, TIME o DATE. En el ejemplo de la línea 39, hemos especificado una precisión de tipo TIMESTAMP, ya que es lo que almacenaremos en base de datos.


Pulsa aquí para acceder al código de esta entrada en mi repositorio Github

0 comentarios:

Publicar un comentario