Maison  >  Article  >  Java  >  Comment sérialiser correctement Java 8 LocalDateTime en JSON au Spring Boot ?

Comment sérialiser correctement Java 8 LocalDateTime en JSON au Spring Boot ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-23 22:27:11156parcourir

How to Properly Serialize Java 8 LocalDateTime to JSON in Spring Boot?

Conversion de Java 8 LocalDateTime en JSON dans Spring Boot

Dans Spring Boot, le formatage des objets Java 8 LocalDateTime pour la sortie JSON peut poser des problèmes. Alors que le formatage de date traditionnel fonctionne comme prévu, LocalDateTime présente un problème de formatage unique.

Un problème courant est que les champs LocalDateTime sont convertis en une structure détaillée avec des attributs tels que « année », « mois », etc. d'une simple représentation sous forme de chaîne. Pour résoudre ce problème, une configuration supplémentaire est requise.

Pour résoudre ce problème, suivez ces étapes :

  1. Ajoutez la dépendance Jackson :

    • Incluez la dépendance suivante dans votre projet :

      compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")
  2. Configurer Spring :

    • Ajoutez la ligne suivante à votre fichier application.properties :

      spring.jackson.serialization.write_dates_as_timestamps=false
    • Cela garantira qu'un convertisseur approprié est utilisé pour sérialiser les dates sous forme de chaînes.

Maintenant, Spring Boot enregistrera automatiquement un convertisseur LocalDateTime. Cependant, si vous souhaitez personnaliser le format de date, vous pouvez utiliser les annotations suivantes :

  • @JsonFormat : Utilisez cette annotation pour spécifier le format de date souhaité.
  • @DateTimeFormat : Utilisez cette annotation pour spécifier la date ISO format.

Remarque : dans Spring Boot 2.x, les étapes de configuration décrites ci-dessus ne sont plus nécessaires, car Spring gère désormais nativement la conversion LocalDateTime.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn