如何解决jackson序列化和feign返回值的问题
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关如何解决jackson序列化和feign返回值的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。jackson序列化和feign返回值jacks
千家信息网最后更新 2026年11月03日如何解决jackson序列化和feign返回值的问题
这篇文章给大家分享的是有关如何解决jackson序列化和feign返回值的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
jackson序列化和feign返回值
jackson注意点
被序列化/反序列化的实体
a.必须要有无参构造方法
b.字段要有set/get方法
c.不需要序列化的字段 可以用@jsonIgnore 修饰
feignClient 返回值问题
返回值的类型 不一定 和被调用方返回值类型一样
如:
被调用方是
@ResponseBody@RequestMapping("test");public Map test(){ Map map = new HashMap(); map.put("name","zhangsan"); map.put("address","地址"); return map;}调用方:
@FeignClient("xxxx")public Interface xxService{ @RequestMapping("/test") Test test();}/*** 实体类对应的属性 和 map中对应 就行了*/@Dataclass Test{ public Test(){} private String name; private String address;}还有个方法就是 调用方直接用string 接收 再自己转换
feign调用异常,反序列化失败
异常消息如下
nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `xxx` out of START_OBJECT token
本来我用fastjson消息转换器替换了原来的消息转换器,我以为是没有替换掉,折腾了一阵
后来去掉fastjson消息转换器还是报错,我想着应该是返回的数据问题
被调用服务控制层返回的数据和我反序列的对象一致,应该是被调用服务对返回的数据统一做了包装,导致的问题,去除包装就好了,或者反序列化的对象为包装后的对象
我是在方法映射上加headers属性,属性值Keep-Original=Keep-Original,去除包装
@GetMapping(value = "xxx",headers = {"Keep-Original=Keep-Original"})最后问题就完美解决了
感谢各位的阅读!关于"如何解决jackson序列化和feign返回值的问题"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
序列
问题
方法
消息
包装
对象
属性
数据
转换器
内容
字段
实体
更多
篇文章
类型
服务
不错
实用
一致
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司
有格互联网科技
百单网互联网科技有限公司
互联网科技网
互联网科技公司经营范围
厦门中拓互联网络科技有限公司
工业互联网科技新基建
互联网科技的
互联网络科技有限公司
以房互联网科技
小马过河互联网科技
互联网科技公司名称
左右互联网络科技
金融科技与互联网金融相同和不同
互联网科技产业特征
互联网科技的全部知识
卓翼科技产业互联网合作
广州梦谷互联网科技有限公司领导
互联网科技和医药行业
科技互联网企业在行动
金诺互联网科技
互联网金融监管科技
承德科技产业互联网发展
科技与互联网哪个更好
互联网媒体平台算高科技产业
山东子淼互联网科技有限公司
江苏互联网科技小贷
互联网科技接地气
米泉互联网科技专业怎么样
互联网科技快速发展优美句子