Configuration d'ObjectMapper au Spring
Au Spring, l'ObjectMapper peut être configuré pour personnaliser le comportement des processus de sérialisation et de désérialisation. Un cas d'utilisation courant consiste à exclure les champs de la sérialisation à moins qu'ils ne soient annotés avec une annotation spécifique, telle que @JsonProperty.
Problème :
Lors de la configuration de l'ObjectMapper pour sérialisez uniquement les champs annotés avec @JsonProperty, la classe NumbersOfNewEvents contient toujours tous les attributs dans le fichier sérialisé. JSON.
Réponse :
La clé pour comprendre ce problème est que le CompanyObjectMapper personnalisé défini dans servlet.xml n'est pas utilisé par Spring. La solution consiste à annoter le bean CompanyObjectMapper avec @Configuration et à le définir comme méthode du bean dans une classe de configuration Spring. Cela garantira que l'ObjectMapper personnalisé est récupéré et utilisé par Spring.
Voici un exemple de la façon d'y parvenir avec Spring Boot :
@Configuration public class JacksonConfiguration { @Bean public ObjectMapper objectMapper() { return new CompanyObjectMapper(); } }
Cette configuration remplace le bean ObjectMapper par défaut et garantit que le CompanyObjectMapper personnalisé est utilisé pour la sérialisation et la désérialisation.
Remarque : Le VisibilityChecker défini dans la classe CompanyObjectMapper n'a aucun effet sur la sérialisation à l'aide de Jackson 2.4.6. Pour exclure des champs de la sérialisation, utilisez plutôt l'annotation @JsonIgnore.
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!