如何解决jackson序列化和feign返回值的问题
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章给大家分享的是有关如何解决jackson序列化和feign返回值的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。jackson序列化和feign返回值jacks
千家信息网最后更新 2025年01月21日如何解决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安全错误
数据库的锁怎样保障安全
忍者必须死3玩哪个服务器
什么是数据库中的物理独立性
我的世界流量服务器进不去怎么办
网络安全保险迎来发展新机遇
阿里云服务器登陆不上
网络安全的本质是威胁对抗
数据库投影运算
服务器远程配置教程
sql 批量备份数据库
数据库学完就忘
软件开发可行性分析方面
郭跃强的网络安全
邯郸互联网软件开发定制
福建超频服务器口碑推荐
佛山市骏乘网络技术有限公司
软件开发订制班
网络技术市值
新神魔大陆服务器寻宝地宫在哪里
数据库中的数据一般储存在
金融网络安全会议
玖二柒互联网科技公司是干嘛的
达梦数据库获取uuid的方式
数据库新建视图的方法
深圳企派网络技术有限公司
网络安全法 csl
人人商城数据库没有怎么办
北京常见软件开发收购价格
vb数据库删改
青少年网络安全教育宣传图片
奇迹mu风云再起服务器关服了吗