介绍
Jackson
将对象json化的时候出现错误 (Disable SerializationFeature.FAIL_ON_EMPTY_BEANS
)
原因
Jackson在序列化类时,遇到空对象(我遇到的PageResult类),默认情况下会抛出异常。
解决方案
ts
/**
* mvc的全局处理
*/
@Configuration
public class GlobalConfig extends WebMvcConfigurationSupport {
/**
* 通过继承WebMvcConfigurationSupport并重写configureMessageConverters方法,
* 实现了全局的HTTP消息转换器配置,简化了后续开发中对JSON处理的配置需求。
* @param converters
*/
@Override
protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
//MappingJackson2HttpMessageConverter添加到Spring MVC的消息转换器列表中,
//确保在HTTP请求和响应中能够正确处理JSON数据。
converters.add(mappingJackson2HttpMessageConverter());
}
private MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(){
ObjectMapper objectMapper = new ObjectMapper();
//ObjectMapper被配置为在序列化空对象时
//不会抛出异常(FAIL_ON_EMPTY_BEANS设置为false),增强了系统的健壮性。
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(objectMapper);
converter.setObjectMapper(objectMapper);
return converter;
}
}