解決@JsonIgnore的使用以及自己踩坑
解決@JsonIgnore使用及踩坑
如題所示:
@JsonIgnore注解:在json序列化時將對象中的一些屬性忽略掉,標記在屬性或者方法上,返回的json數據不包含該屬性。
項目采用微服務模式,需要通過Feign調用其他服務,使用Page(自己公司底層封裝)傳參,字段queryCondition,具體如下所示,但參數始終未能傳遞到目標服務中,在排查了其他問題之后,查看Page底層代碼,發(fā)現在Page內部分字段上有@JsonIgnore注解,即找到問題。
/** 查詢條件*/ @JsonIgnore private Map<String,Object> queryCondition = new HashMap<String,Object>();
使用該注解在大部分情況下都是為了使該字段不返回,通過Feign調用的時候即需要序列化,故而該屬性被忽略置空。
注:為了找到問題所在,打印了兩個服務中的線程名,發(fā)現通過Feign調用接口會在目標服務內產生新的線程,和原請求并非同一個線程。
注解@JsonIgnore的作用
遇到一個問題我后端有數據,返回前端json數據里面一直沒有,在次總結哈。
1.使用方法:一般標記在屬性或者方法上,返回的json數據即不包含該屬性。
2.作用:在json序列化時將java 中的一些屬性忽略掉,序列化和反序列化都受影響。
3.圖中屬性在通過Json傳出時就不會顯示

使用@JsonIgnore控制實體類屬性是否返回前臺
引用的包

將 @JsonIgnore添加在屬性的set方法上,傳遞給前臺的此對象便不會展示這個屬性。

總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot2基于重復創(chuàng)建bean的問題及解決
這篇文章主要介紹了SpringBoot2基于重復創(chuàng)建bean的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
解決spring @ControllerAdvice處理異常無法正確匹配自定義異常
這篇文章主要介紹了解決spring @ControllerAdvice處理異常無法正確匹配自定義異常的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06

