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

问题:

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

解决办法:
  1. 在类上添加 @JsonIgnoreProperties(ignoreUnknown = true)注解,这样会忽略类中不存在的字段,可以满足当前的需要,推荐。(后面每个类如果用到缓存都要加这个注解?)
  2. @JsonIgnoreProperties({ "internalId", "secretKey" }),指定的字段不会被序列化和反序列化,这样的话可能缓存取不到。
相关推荐
景熙552338 分钟前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
wno7041 小时前
Spring Security权限控制
java·python·spring
杨运交2 小时前
[071][验证码模块]基于Spring拦截器的验证码认证设计思想
java·后端·spring
Geek-Chow2 小时前
CountDownLatch in Java
java
SL_staff2 小时前
从RBAC到场景化授权:《无忧·企业文档》三级权限模型的技术实践解析
java·开源·产品
传奇开心果编程3 小时前
【springboot基础语法学与练】第 1 课:从零开始
java·spring boot·后端·学习
SL_staff3 小时前
财务系统慎用低代码?从数据模型闭环看合规落地的技术实践
java·低代码·全栈
滕州市燕猫虎计算机科技工作室个体工商户3 小时前
IDEA:Command line is too long
java·ide·intellij-idea
步行cgn4 小时前
Spring p 命名空间注入详解
java·前端·spring
YatHinLay4 小时前
MyBatis 流式查询实战:ResultHandler 处理海量数据
java