为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Spring 上注册我的 JsonSerializer

如何在 Spring 上注册我的 JsonSerializer

忽然笑 2021-11-11 16:47:13
以响应来自这个问题:https://stackoverflow.com/a/45566139/2968729我要添加NullSerializer到自动配置ObjectMapper。Spring Boot 文档:任何 com.fasterxml.jackson.databind.Module 类型的 bean 都会自动注册到自动配置的 Jackson2ObjectMapperBuilder 并应用于它创建的任何 ObjectMapper 实例。当您向应用程序添加新功能时,这提供了用于贡献自定义模块的全局机制。所以这就是我正在尝试的方式:@Configurationpublic 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.StdSerializerhandleType() 方法的 Javadoc 说:用于访问此序列化程序可以处理的对象类型的方法。请注意,此信息不能保证准确——它可能是一个更通用的(超类型)——但它不应该是不正确的(返回一个不相关的类型)。默认实现将返回 null,这本质上与返回 Object.class 相同;也就是说,对处理类型一无所知。使用 Spring Boot 2.0.5.RELEASE
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

我认为问题在于您使用的是原始类型。你需要给它上课。

module.addSerializer(Object.class, new NullSerializer<>());


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 277 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信