spring boot通过全局配置解决jackson UnrecognizedPropertyException异常
在开发过程中,微服务间调用通过jackon做反序列化的时候,如果接收的对象和接收到的报文结构在字段上不一样,就会抛出以下异常。加载application.yaml配置文件里即可。
·
在开发过程中,微服务间调用通过jackon做反序列化的时候,如果接收的对象和接收到的报文结构在字段上不一样,就会抛出以下异常
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "companyKeyList" (class com.xxx.SysIntentionCapabilityVO), not marked as ignorable (13 known properties: "isInstruct", "templateName", "publishType", "intention", "isInstructName", "intentionDescription", "capabilityType", "templateId", "id", "capabilityTypeName", "ifCleanSessionId", "supportType", "isAsync"])
at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 143] (through reference chain: com.xxx.common.pojo.vo.Result["result"]->com.xxx.SysIntentionCapabilityVO["companyKeyList"])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1138)
从而导致反序列化失败,我们可以通过一个全局配置来忽略陌生(多余)字段,配置如下:
spring:
jackson:
deserialization:
fail-on-unknown-properties: false
加载application.yaml配置文件里即可
over~~
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)