唐山市网站建设_网站建设公司_MongoDB_seo优化
2025/12/30 8:04:35 网站建设 项目流程

jackson 序列化多态处理

jackson json 的多态处理是一个比较方便的功能,但是实际上如果开启了多态处理,如果传递了具体的字类我们可能也会出现提示序列化异常,实际我们期望是正常的,但是因为jackson 默认的强check 造成有问题

参考多态配置

  • 一般玩法
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "type",visible = true)
@Data
public class BaseMessage {private  String type;private  String action;
}
  • 问题

如果我们使用具体的字类进行处理,还是需要指定type字段,实际我们并不希望指定

  • 解决方法

配置如下信息

mapper.configure(MapperFeature.REQUIRE_TYPE_ID_FOR_SUBTYPES,false);

说明

对于实际类型也指定type 的确是一个不太方便的玩法,通过配置key 可以规避比问题

参考资料

https://github.com/FasterXML/jackson-databind/issues/3853

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询