Sono stato abbastanza irragionevole da passare alla configurazione dei bean a molla tramite annotazioni e non con bean xml puri e ora sono di fronte alle conseguenze.Come configurare MappingJacksonHttpMessageConverter mentre si utilizza la configurazione basata su annotazione di primavera?
ho configurare i canali REST utilizzando
<mvc:annotation-driven />
ora voglio semplicemente configurare il MappingJacksonHttpMessageConverter
per l'output JSON solo questi campi con valori non nulli. Ho provato quanto segue:
<bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="prefixJson" value="false" />
<property name="supportedMediaTypes" value="application/json" />
<property name="objectMapper">
<bean class="org.codehaus.jackson.map.ObjectMapper">
<property name="serializationInclusion" value="NON_NULL"/>
</bean>
</property>
</bean>
I bean vengono creati, ma un'altra istanza di convertitore viene creata e utilizzata nei canali. Così ho provato il modo con @Configuration
e @Bean
descritto in this Stackoverflow question, ma ancora serializzazione JSON utilizza la propria configurazione.
Infine ho provato a iniettare il mapper tramite
@Autowired
private MappingJacksonHttpMessageConverter jacksonConverter;
ma ho finito con NoSuchBeanDefinitionException
. Quindi ora sono fuori dalle opzioni e quindi sto chiedendo qualche idea qui. Come controllare e configurare il mapper utilizzato dal framework?
provare a cambiare il nome del campo cablata a '' jsonHttpMessageConverter' come @Autowired privato MappingJacksonHttpMessageConverter jsonHttpMessageConverter; ' –