No fui lo suficientemente razonable para entrar a configurar beans de primavera a través de anotaciones y no granos puros xml y ahora estoy enfrentando las consecuencias.¿Cómo se configura MappingJacksonHttpMessageConverter utilizando la configuración basada en la anotación de primavera?
puedo configurar canales REST utilizando
<mvc:annotation-driven />
Ahora quiero simplemente configurar el MappingJacksonHttpMessageConverter
a la salida de JSON sólo estos campos que tienen valores no nulos. He intentado lo siguiente:
<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>
Se crean los beans, pero se crea otra instancia de convertidor y se utiliza en los canales. Así que probé el camino con @Configuration
y @Bean
descritos en this Stackoverflow question, pero la serialización todavía json usa su propia configuración.
Finalmente he tratado de inyectar el asignador través
@Autowired
private MappingJacksonHttpMessageConverter jacksonConverter;
pero he terminado con NoSuchBeanDefinitionException
. Así que ahora estoy sin opciones y por lo tanto estoy pidiendo cualquier idea aquí. ¿Cómo controlar y configurar el asignador utilizado por el marco?
trate de cambiar el nombre del campo por cable a '' jsonHttpMessageConverter' como @Autowired MappingJacksonHttpMessageConverter jsonHttpMessageConverter privado; ' –