解決springboot中自定義JavaBean返回的json對象屬性名稱大寫變小寫問題
springboot中自定義JavaBean返回的json對象屬性名稱大寫變小寫問題
開發(fā)過程中發(fā)現(xiàn)查詢返回的數(shù)據(jù)出現(xiàn)自定義的JavaBean的屬性值大小寫格式出現(xiàn)問題,導(dǎo)致前端無法接受到數(shù)據(jù),目前有四種解決方法,根據(jù)大佬的經(jīng)驗之談,前兩種是最簡單便捷的,后兩種是比較通用的方法。
具體原因如下圖:

一、繼承類
一般在vo層(可自行理解,阿里巴巴的編程規(guī)范)自定義JavaBean來封裝數(shù)據(jù)返回給前端,都是需要用到多表查詢,或者有額外的屬性增加時需要創(chuàng)建。
例如:人的javaBean最好的方式是繼承一個學(xué)生的javaBean在添加新的屬性,這樣再人的JavaBean中沒有問題,學(xué)生的JavaBean返回的數(shù)據(jù)也是正常的,不會出現(xiàn)因為@Data注解導(dǎo)致的bug。
二、手動添加Get方法
這有可能是由于Lombok中的@Data注解導(dǎo)致的bug,手動添加get和set方法也可以解決該問題。(嘗試了返回的格式是正常的)
三、@JsonProperty
其它博主的解決方案:字段屬性加上注解@JsonProperty("aAnimalId")指定序列化后的名稱,字段屬性的get方法加上注解@JsonIgnore。

本人嘗試的結(jié)果:在字段屬性加上注解@JsonProperty("aAnimalId"),接口返回數(shù)據(jù)的key就恢復(fù)正常了,或許是我和@Data混用的原因。但是分析了一下發(fā)現(xiàn)結(jié)果如下:

結(jié)果分析:
把首字母變成大小,從而和springboot返回json對象把字母變成小寫相互抵消,從而導(dǎo)致可以返回正常的格式(自我理解,不確定對不對),但問題de到解決。各位可以嘗試嘗試,能解決開發(fā)問題的就是好辦法。
四、spring-boot json(jackson)屬性命名策略
全局配置命名策略,未嘗試,大佬叫我了解了解,會有一定的收獲。
spring: jackson: property-naming-strategy: SNAKE_CASE
以上就是解決springboot中自定義JavaBean返回的json對象屬性名稱大寫變小寫問題的詳細內(nèi)容,更多關(guān)于springboot json對象屬性名稱大寫變小寫的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java后端實現(xiàn)異步編程的9種方式總結(jié)
我們?nèi)粘i_發(fā)的時候,經(jīng)常說到異步編程,比如說,在注冊接口,我們在用戶注冊成功時,用異步發(fā)送郵件通知用戶,那么實現(xiàn)異步編程一共有多少種方式呢,下面小編就來簡單講講吧2025-03-03
SpringCloud之Zuul服務(wù)網(wǎng)關(guān)詳解
這篇文章主要介紹了SpringCloud之Zuul服務(wù)網(wǎng)關(guān)詳解,服務(wù)網(wǎng)關(guān)是微服務(wù)架構(gòu)中一個不可或缺的部分,通過服務(wù)網(wǎng)關(guān)統(tǒng)一向外系統(tǒng)提供REST?API的過程中,除了具備服務(wù)路由、均衡負載功能之外,它還具備了權(quán)限控制(鑒權(quán))等功能,需要的朋友可以參考下2023-08-08
springboot整合shiro多驗證登錄功能的實現(xiàn)(賬號密碼登錄和使用手機驗證碼登錄)
這篇文章給大家介紹springboot整合shiro多驗證登錄功能的實現(xiàn)方法,包括賬號密碼登錄和使用手機驗證碼登錄功能,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-07-07
Spring框架花式創(chuàng)建Bean的n種方法(小結(jié))
這篇文章主要介紹了Spring框架花式創(chuàng)建Bean的n種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
解決springboot的aop切面不起作用問題(失效的排查)
這篇文章主要介紹了解決springboot的aop切面不起作用問題(失效的排查),具有很好的參考價值,希望對大家有所幫助。 一起跟隨小編過來看看吧2020-04-04
Java實戰(zhàn)之圖書管理系統(tǒng)的實現(xiàn)
這篇文章主要介紹了如何利用Java語言編寫一個圖書管理系統(tǒng),文中采用的技術(shù)有Springboot、SpringMVC、MyBatis、ThymeLeaf 等,需要的可以參考一下2022-03-03

