是否有一个全局配置在春天可以为所有使用@ResponseBody注释的控制器禁用弹簧FAIL_ON_EMPTY_BEANS?
use*_*607 60
如果您使用的是Spring Boot,则可以在application.properties文件中设置以下属性.
spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false
感谢@DKroot的宝贵评论.但我相信这应该是他人自己的答案.
vto*_*tor 32
您可以在配置时配置对象映射器 configureMessageConverters
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
MappingJackson2HttpMessageConverter converter =
new MappingJackson2HttpMessageConverter(mapper);
return converter;
}
Run Code Online (Sandbox Code Playgroud)
如果您想知道如何在您的应用程序中完全执行,请使用您的配置文件(xml或java配置)更新您的问题.
编辑:如果您使用的是XML而不是Java配置,则可以创建使用自定义配置MyJsonMapper
扩展的自定义类ObjectMapper
,然后按如下方式使用它
public class MyJsonMapper extends ObjectMapper {
public MyJsonMapper() {
this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
}
}
Run Code Online (Sandbox Code Playgroud)
在您的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" >
Run Code Online (Sandbox Code Playgroud)
spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false
在 Spring Boot 2.2.5 中找不到
我用这个
@Configuration
public class SerializationConfiguration {
@Bean
public ObjectMapper objectMapper() {
return new ObjectMapper().disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
42999 次 |
最近记录: |