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

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

本人嘗試的結(jié)果:在字段屬性加上注解@JsonProperty("aAnimalId"),接口返回?cái)?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對象屬性名稱大寫變小寫問題的詳細(xì)內(nèi)容,更多關(guān)于springboot json對象屬性名稱大寫變小寫的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot集成Redis并調(diào)用Lua腳本的示例詳解
Redis 是一個(gè)高性能的內(nèi)存數(shù)據(jù)庫,廣泛用于緩存、計(jì)數(shù)器、分布式鎖等場景,本文主要和大家詳細(xì)介紹了SpringBoot如何集成Redis并調(diào)用Lua腳本,需要的小伙伴可以了解下2025-07-07
RabbitMQ延時(shí)隊(duì)列實(shí)現(xiàn)方法
文章主要介紹了在Linux環(huán)境下使用CentOS/Rocky使用Docker部署RabbitMQ 3.8版本,并實(shí)現(xiàn)現(xiàn)現(xiàn)了延時(shí)隊(duì)列的實(shí)現(xiàn)方式,總結(jié)了兩種方法在靈活性、性能和管理上的優(yōu)缺點(diǎn),感興趣的朋友跟隨小編一起看看吧2026-05-05
springBoot項(xiàng)目打包idea的多種方法
這篇文章主要介紹了springBoot項(xiàng)目打包idea的多種方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
一篇文章教你將JAVA的RabbitMQz與SpringBoot整合
這篇文章主要介紹了如何將JAVA的RabbitMQz與SpringBoot整合,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-09-09
Java實(shí)現(xiàn)OTP(動態(tài)口令)服務(wù)
OTP是一種動態(tài)生成的短時(shí)有效密碼,用于身份驗(yàn)證,通常在登錄或執(zhí)行敏感操作時(shí)提供額外的安全保障,本文主要介紹了Java實(shí)現(xiàn)OTP(動態(tài)口令)服務(wù),感興趣的可以了解一下2025-03-03
SpringBoot多文件分布式上傳功能實(shí)現(xiàn)
本文詳細(xì)介紹了如何在SpringBoot中實(shí)現(xiàn)多文件分布式上傳,并用代碼給出了相應(yīng)的實(shí)現(xiàn)思路和實(shí)現(xiàn)步驟,感興趣的朋友跟隨小編一起看看吧2023-06-06
javacv視頻抽幀的實(shí)現(xiàn)過程詳解(附代碼)
這篇文章主要介紹了javacv視頻抽幀的實(shí)現(xiàn)過程詳解(附代碼),視頻抽幀可以做一些處理,比如水印,去水印等操作,然后再合成視頻,需要的朋友可以參考下2019-07-07
SpringBoot配置攔截器實(shí)現(xiàn)過程詳解
在系統(tǒng)中經(jīng)常需要在處理用戶請求之前和之后執(zhí)行一些行為,例如檢測用戶的權(quán)限,或者將請求的信息記錄到日志中,即平時(shí)所說的"權(quán)限檢測"及"日志記錄",下面這篇文章主要給大家介紹了關(guān)于在SpringBoot項(xiàng)目中整合攔截器的相關(guān)資料,需要的朋友可以參考下2022-10-10

