Personnalisation de la sérialisation JSON des dates locales Java 8 dans Spring Boot
Problème :
Lors du formatage un Java 8 LocalDateTime dans une application Spring Boot, la représentation JSON résultante se compose de valeurs de champ détaillées au lieu de l'ISO souhaitée format de date.
Solution :
Avant Spring Boot 2.x, une configuration supplémentaire est requise pour obtenir le formatage souhaité :
Ajoutez la dépendance suivante :
compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")
Activer Sérialisation de date sans horodatage en ajoutant les éléments suivants à application.properties :
spring.jackson.serialization.write_dates_as_timestamps=false
Incluez l'annotation suivante dans le getter de la propriété LocalDateTime :
@JsonFormat(pattern="yyyy-MM-dd") public LocalDateTime getStartDate() { return startDate; }
Explication :
Y compris le La dépendance jackson-datatype-jsr310 enregistre un convertisseur pour LocalDateTime. La configuration de write_dates_as_timestamps sur false garantit que le convertisseur par défaut est utilisé, ce qui entraîne une date sérialisée au format ISO aaaa-MM-jj. L'annotation @JsonFormat personnalise davantage le format en fonction de la représentation sous forme de chaîne souhaitée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!