解決@JsonIgnore的使用以及自己踩坑
解決@JsonIgnore使用及踩坑
如題所示:
@JsonIgnore注解:在json序列化時將對象中的一些屬性忽略掉,標(biāo)記在屬性或者方法上,返回的json數(shù)據(jù)不包含該屬性。
項目采用微服務(wù)模式,需要通過Feign調(diào)用其他服務(wù),使用Page(自己公司底層封裝)傳參,字段queryCondition,具體如下所示,但參數(shù)始終未能傳遞到目標(biāo)服務(wù)中,在排查了其他問題之后,查看Page底層代碼,發(fā)現(xiàn)在Page內(nèi)部分字段上有@JsonIgnore注解,即找到問題。
/** 查詢條件*/ @JsonIgnore private Map<String,Object> queryCondition = new HashMap<String,Object>();
使用該注解在大部分情況下都是為了使該字段不返回,通過Feign調(diào)用的時候即需要序列化,故而該屬性被忽略置空。
注:為了找到問題所在,打印了兩個服務(wù)中的線程名,發(fā)現(xiàn)通過Feign調(diào)用接口會在目標(biāo)服務(wù)內(nèi)產(chǎn)生新的線程,和原請求并非同一個線程。
注解@JsonIgnore的作用
遇到一個問題我后端有數(shù)據(jù),返回前端json數(shù)據(jù)里面一直沒有,在次總結(jié)哈。
1.使用方法:一般標(biāo)記在屬性或者方法上,返回的json數(shù)據(jù)即不包含該屬性。
2.作用:在json序列化時將java 中的一些屬性忽略掉,序列化和反序列化都受影響。
3.圖中屬性在通過Json傳出時就不會顯示
使用@JsonIgnore控制實體類屬性是否返回前臺
引用的包
將 @JsonIgnore添加在屬性的set方法上,傳遞給前臺的此對象便不會展示這個屬性。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實現(xiàn)微信公眾平臺朋友圈分享功能詳細(xì)代碼
這篇文章主要介紹了Java實現(xiàn)微信公眾平臺朋友圈分享功能詳細(xì)代碼,小編覺得挺不錯的,這里分享給大家,供需要的朋友參考。2017-11-11基于springboot和redis實現(xiàn)單點登錄
這篇文章主要為大家詳細(xì)介紹了基于springboot和redis實現(xiàn)單點登錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06SpringBoot2基于重復(fù)創(chuàng)建bean的問題及解決
這篇文章主要介紹了SpringBoot2基于重復(fù)創(chuàng)建bean的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Java Thread之Sleep()使用方法及總結(jié)
這篇文章主要介紹了Java Thread之Sleep()使用方法及總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11解決spring @ControllerAdvice處理異常無法正確匹配自定義異常
這篇文章主要介紹了解決spring @ControllerAdvice處理異常無法正確匹配自定義異常的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06Java操作itextpdf實現(xiàn)PDF添加文字,圖片和簽名
這篇文章主要為大家詳細(xì)介紹了Java如何操作itextpdf實現(xiàn)PDF添加文字,圖片和簽名等功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下2025-01-01