如何解决jackson序列化和feign返回值的问题
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章给大家分享的是有关如何解决jackson序列化和feign返回值的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。jackson序列化和feign返回值jacks
千家信息网最后更新 2025年11月13日如何解决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安全错误
数据库的锁怎样保障安全
网络技术与应用课堂总结
陕西省软件开发设计
介绍网络安全检查报告
丰台区运营网络技术咨询哪家好
网络安全教育答题活动答案
伺服服务器故障报警代码
软件开发外包哪个比较好
摩普网络技术有
做软件开发体检
湖北云三软件开发有限公司
仓库erp软件开发企业
数字科技的互联网
天纵互联网科技有限公司
网络安全千人计划证书
不学数据库
如何申请迷你世界冒险服务器
淮安网络安全应急保障机构
网络服务器功能
企业内部网络安全监测
网络安全基础信息检查报告
软件开发公司的工作特征是什么
数据库的关系代数选择操作
灵璧县公安局网络安全建设
access数据库查询年月
数据库还原金蝶备份文件
奇迹mu选择服务器
大学生消费怎么做数据库
吉林省dns服务器网址是什么
网络安全隐患排查工作
第四届中国汽车网络安全峰会