欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot 返回Json實體類屬性大小寫的解決

 更新時間:2021年10月14日 12:01:52   作者:IBeanCN  
這篇文章主要介紹了SpringBoot 返回Json實體類屬性大小寫的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

返回Json實體類屬性大小寫問題

總歸上述問題Rt,其實今天開發(fā)剛遇到,當時找了半天為啥前臺傳參后臺卻接收不到,原來是返回的時候返回小寫,但是前臺依舊大寫傳參。

查了很多后發(fā)現(xiàn)其實是json返回的時候把首字母變小寫了,也就是Spring Boot中Jackson的功勞

百度后得@JsonProperty注解完美解決。但與此同時會出現(xiàn)兩個問題

如果注解放到屬性上,則返回的時候既有大寫也有小寫,

@JsonProperty("Ao")
private Integer Ao;

Result:{Ao:xxx,ao:xxx}

所以注解放在getter上完美解決,返回只有大寫不再自動變?yōu)樾懙膯栴}。

@JsonProperty("Ao")
public Integer getAo() {
   return Ao;
}

Result:{Ao:xxx}

Json轉換大小寫的坑

最近搞了一個Springboot+mybatis的框架,往前端進行Json格式轉換的時候,發(fā)現(xiàn)屬性的大寫首字母變小寫了,這極大的不方便前后一致性,如是網上一堆亂搜,測試了N多情況,算是把問題解決了,不過坑大,記錄如下:

1) 如果沒有使用fastjson(阿里巴巴出品),使用@JsonProperty("XXXX")的注解方式可以解決問題,XXXX就是轉換成Json的屬性名,但注意,只有放在getter上才是有效的,直接在屬性上加沒效果.(這說明spring 默認的jackson類庫處理是基于訪問器。

2)如果使用了fastjson,就用@JSONField(name="XXXXX")注解方式進行,這個可以放在屬性上。不過放在getter,setter上更好。

3)如果同時有兩個存在,一般都是fastjson起效果,不過具體情況可以試下,我遇到的就是fastjson起效。當然要強制失效fastjson,就需要在Application類上加注解:@EnableWebMvc.

總結,初次為大規(guī)模做Java項目,開發(fā)底層框架,感覺Java的很多框架開發(fā)者有點死腦筋,命名規(guī)范這玩意就是個規(guī)范,你做框架底層沒必要越廚代庖,強制采用這些規(guī)范。做底層的東西就要把自由度留給使用人員,別人才好在此基礎上擴展。雖然可以通過一些注解什么的解決問題,但浪費很多時間。

整體上來說,無論是Java的一些框架還是語法本身都跟C#不在一個自由度上,很多時候都是做些沒有什么技術含量的東西。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MyBatis的collection和association的使用解讀

    MyBatis的collection和association的使用解讀

    這篇文章主要介紹了MyBatis的collection和association的使用解讀
    2023-12-12
  • 一文帶你深入了解Java8 Stream流式編程

    一文帶你深入了解Java8 Stream流式編程

    在實際項目當中,若能熟練使用Java8 的Stream流特性進行開發(fā),就比較容易寫出簡潔優(yōu)雅的代碼。本文主要就是基于實際項目常用的Stream Api流式處理總結,希望對大家有所幫助
    2023-04-04
  • 深入淺析Random類在高并發(fā)下的缺陷及JUC對其的優(yōu)化

    深入淺析Random類在高并發(fā)下的缺陷及JUC對其的優(yōu)化

    這篇文章主要介紹了Random類在高并發(fā)下的缺陷及JUC對其的優(yōu)化 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • SpringCloud開啟session共享并存儲到Redis的實現(xiàn)

    SpringCloud開啟session共享并存儲到Redis的實現(xiàn)

    這篇文章主要介紹了SpringCloud開啟session共享并存儲到Redis的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MyBatis的五種批量插入詳解

    MyBatis的五種批量插入詳解

    這篇文章主要介紹了MyBatis的五種批量插入詳解,MyBatis是一款半自動的ORM持久層框架,具有較高的SQL靈活性,支持高級映射(一對一,一對多),動態(tài)SQL,延遲加載和緩存等特性,但它的數(shù)據(jù)庫無關性較低,需要的朋友可以參考下
    2023-08-08
  • springboot程序啟動慢-未配置hostname的解決

    springboot程序啟動慢-未配置hostname的解決

    這篇文章主要介紹了springboot程序啟動慢-未配置hostname的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • MyBatis將查詢出的兩列數(shù)據(jù)裝配成鍵值對的操作方法

    MyBatis將查詢出的兩列數(shù)據(jù)裝配成鍵值對的操作方法

    這篇文章主要介紹了MyBatis將查詢出的兩列數(shù)據(jù)裝配成鍵值對的操作代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • JAVA Netty實現(xiàn)聊天室+私聊功能的示例代碼

    JAVA Netty實現(xiàn)聊天室+私聊功能的示例代碼

    這篇文章主要介紹了JAVA Netty實現(xiàn)聊天室+私聊功能的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Java 線程對比(Thread,Runnable,Callable)實例詳解

    Java 線程對比(Thread,Runnable,Callable)實例詳解

    這篇文章主要介紹了Java 線程(Thread,Runnable,Callable)實例詳解的相關資料,這里對java 線程的三種方法進行了對比,需要的朋友可以參考下
    2016-12-12
  • idea中配置tomcat啟動jsp項目過程

    idea中配置tomcat啟動jsp項目過程

    在IntelliJ IDEA中配置Tomcat并啟動JSP項目,首先需要在IDEA中安裝和配置Tomcat服務器,接著將項目與Tomcat關聯(lián),設置正確的部署路徑和端口號,通過這些步驟,可以實現(xiàn)JSP項目的本地運行和調試,使得開發(fā)和測試工作更加高效
    2024-10-10

最新評論