jsonproperty - Spring y Jackson, cómo desactivar FAIL_ON_EMPTY_BEANS a través de @ResponseBody
objectmapper java (2)
Puede configurar su asignador de objetos al configurar configureMessageConverters
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
MappingJackson2HttpMessageConverter converter =
new MappingJackson2HttpMessageConverter(mapper);
return converter;
}
Si desea saber cómo hacer exactamente en su aplicación, actualice su pregunta con sus archivos de configuración (configuración xml o java).
Aquí hay un buen artículo sobre cómo personalizar los conversores de mensajes.
Editar: si está utilizando XML en lugar de las configuraciones de Java, puede crear una clase MyJsonMapper
personalizada que extienda ObjectMapper
con configuración personalizada y luego usarla de la siguiente manera
public class MyJsonMapper extends ObjectMapper {
public MyJsonMapper() {
this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
}
}
En tu XML:
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper" ref="jacksonObjectMapper" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<bean id="jacksonObjectMapper" class="com.mycompany.example.MyJsonMapper" >
¿Hay una configuración global en primavera que pueda desactivar el resorte FAIL_ON_EMPTY_BEANS para todos los controladores anotados con @ResponseBody?
Si está utilizando Spring Boot, puede establecer la siguiente propiedad en el archivo application.properties.
spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false
Gracias a @DKroot por su valioso comentario. Pero creo que esta debería ser su propia respuesta para los demás.