记一次在dto上使用@JsonSerialize注解,然后使用redis缓存dto的坑

本文讲述了在使用Jackson2JsonRedisSerializer进行Redis序列化配置时遇到的问题,特别是当DTO自定义序列化导致的错误。在尝试解决过程中,作者发现需要处理WRAPPER_ARRAY类型的序列化信息。最终,通过重写序列化方法并指定VALUE_STRING格式成功解决问题。对于不理解的地方,作者计划后续深入研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redis的序列化配置:

使用了Jackson2JsonRedisSerializer,网上的那种通用配置

然后dto上自定义了序列化,会只保留整数

之前代码实现只 重修了serialize方法,后来我使用了redis幂等,会将方法的返回值存到redis中遇到了序列化错误,

类似于这种,当然在尝试解决这个问题中不断改地方又不断出现别的错误 ,包括借鉴了很多网上的方法,尝试下来基本都会在这里报错:

即: 

need JSON Array to contain As.WRAPPER_ARRAY type information for class

最终,通过其他实现类的一些做法跟报错提示,解决了问题,代码如下:

重写一下这个方法,并且直接调用自己的serialize方法,并指定VALUE_STRING的格式就行,目前还没理解为什么可以,但解决问题了,如果有懂得朋友欢迎指导一下,或许我之后有空自己也会研究再回来补充的吧,毕竟白瞎了一下午 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值