从以下问题中获取答案:https://stackoverflow.com/a/45566139/2968729我想将NullSerializer
添加到自动配置的ObjectMapper
中。 Spring Boot文档:
任何类型为com.fasterxml.jackson.databind.Module的bean都是 自动向自动配置注册 Jackson2ObjectMapperBuilder并应用于任何ObjectMapper 它创建的实例。这为 向您添加新功能时提供定制模块 应用。
这就是我正在尝试的方式:
@Configuration
public class JacksonConfig {
@Bean
public Module customSerializer() {
SimpleModule module = new SimpleModule();
module.addSerializer(new NullSerializer());
return module;
}
}
但是我得到了:
NullSerializer does not define valid handledType() -- must either register with method that takes type argument or make serializer extend com.fasterxml.jackson.databind.ser.std.StdSerializer
handleType()方法的Javadoc说:
用于访问此序列化程序可以处理的对象类型的方法。注意 不能保证此信息准确无误-可能是 更通用(超级类型)-但它应该不正确(返回a 非相关类型)。 默认实现将返回null,这实质上意味着与返回Object.class相同。也就是说,一无所知 关于已处理类型。
使用Spring Boot 2.0.5.RELEASE
答案 0 :(得分:0)
我认为问题在于您使用的是原始类型。您需要给它上课。
module.addSerializer(Object.class, new NullSerializer<>());