一种特性,它决定在没有为某个类型找到访问器时发生什么(并且没有说明该类型应该被序列化)。如果启用(默认),将抛出一个异常来指示这些类型为非序列化类型;如果禁用,它们被序列化为空对象,即没有任何属性。
请注意,此特性的空类型只对那些没有任何可识别注释的“空”bean(如@JsonSerialize)起作用:有注释的空bean不会导致抛出异常。功能默认启用。
解决方案
@Configuration
public class JacksonConfig implements WebMvcConfigurer {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.json().build();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
converters.add(new MappingJackson2HttpMessageConverter(objectMapper));
}
}