Jackson 反序列化失败,出现JSON: Unrecognized field

问题:

这边在灰度发布的时候,其他未发布的机器出现过could not read JSON: Unrecognized field "type",这个报错,原因是有一个表新加了一个字段,并且灰度发布了一台机器,刚好有请求命中这台机器,会导致缓存中放入type这个字段,然后其他机器还没有发布,如果此时读到该缓存,会导致pojo中找不到这个type字段,redis在反序列化的时候会报错。

解决办法:
  1. 在类上添加 @JsonIgnoreProperties(ignoreUnknown = true)注解,这样会忽略类中不存在的字段,可以满足当前的需要,推荐。(后面每个类如果用到缓存都要加这个注解?)
  2. @JsonIgnoreProperties({ "internalId", "secretKey" }),指定的字段不会被序列化和反序列化,这样的话可能缓存取不到。
相关推荐
大模型玩家七七8 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
寻星探路13 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧15 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法16 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty72516 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎16 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄16 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿17 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds17 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化