Résoudre le problème de sérialisation des objets paresseux avec Jackson
Votre aspiration à empêcher Jackson de sérialiser des attributs paresseux non récupérés a une résolution simple. Grâce à la précieuse contribution d'Indybee, nous avons découvert une solution qui fonctionne avec vos versions actuelles de Spring, Hibernate et Jackson.
Les versions Spring 3.1.2 et ultérieures introduisent un MappingJackson2HttpMessageConverter amélioré qui intègre la fonctionnalité du convertisseur personnalisé mentionné dans le didacticiel Spring 3.1. Pour tirer parti de ce convertisseur, étendez votre classe de configuration Spring à partir de WebMvcConfigurerAdapter et remplacez la méthode configureMessageConverters.
Dans la méthode configureMessageConverters, ajoutez le MappingJackson2HttpMessageConverter avec le Hibernate4Module enregistré. Dans la configuration Java, cela pourrait ressembler à :
@Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(jacksonMessageConverter()); super.configureMessageConverters(converters); }
Pour une configuration XML, créez un HibernateAwareObjectMapper personnalisé comme suggéré dans le didacticiel :
<mvc:message-converters> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="objectMapper"> <bean class="com.pastelstudios.json.HibernateAwareObjectMapper" /> </property> </bean> </mvc:message-converters>
Cette solution intègre de manière transparente le Hibernate4Module avec la valeur par défaut de Spring. convertisseur de messages, garantissant que les objets paresseux non récupérés ne sont pas sérialisés par Jackson.
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!