解决@JsonIgnore的使用以及自己踩坑
解决@JsonIgnore使用及踩坑
如题所示:
@JsonIgnore注解:在json序列化时将对象中的一些属性忽略掉,标记在属性或者方法上,返回的json数据不包含该属性。
项目采用微服务模式,需要通过Feign调用其他服务,使用Page(自己公司底层封装)传参,字段queryCondition,具体如下所示,但参数始终未能传递到目标服务中,在排查了其他问题之后,查看Page底层代码,发现在Page内部分字段上有@JsonIgnore注解,即找到问题。
/** 查询条件*/ @JsonIgnore private Map<String,Object> queryCondition = new HashMap<String,Object>();
使用该注解在大部分情况下都是为了使该字段不返回,通过Feign调用的时候即需要序列化,故而该属性被忽略置空。
注:为了找到问题所在,打印了两个服务中的线程名,发现通过Feign调用接口会在目标服务内产生新的线程,和原请求并非同一个线程。
注解@JsonIgnore的作用
遇到一个问题我后端有数据,返回前端json数据里面一直没有,在次总结哈。
1.使用方法:一般标记在属性或者方法上,返回的json数据即不包含该属性。
2.作用:在json序列化时将java 中的一些属性忽略掉,序列化和反序列化都受影响。
3.图中属性在通过Json传出时就不会显示
使用@JsonIgnore控制实体类属性是否返回前台
引用的包
将 @JsonIgnore添加在属性的set方法上,传递给前台的此对象便不会展示这个属性。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring扩展之基于HandlerMapping实现接口灰度发布实例
这篇文章主要介绍了Spring扩展之基于HandlerMapping实现接口灰度发布实例,灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式,灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度,需要的朋友可以参考下2023-08-08详解SpringBoot定制@ResponseBody注解返回的Json格式
这篇文章主要介绍了详解SpringBoot定制@ResponseBody注解返回的Json格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11idea乱码修改bin目录下的idea.exe.vmoptions无效问题
这篇文章主要介绍了idea乱码修改bin目录下的idea.exe.vmoptions无效问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-04-04
最新评论