springboot接口入參下划線轉駝峰以及返回參數駝峰轉下划線實現


轉自:springboot接口入參下划線轉駝峰以及返回參數駝峰轉下划線實現 - 李東平|一線碼農 - 博客園 (cnblogs.com)

1.背景

在實際開發中,通常來說java里面是使用駝峰的命名規則;

但是有時候在對接其他三方平台的接口時,要求使用下划線的命名規則,這時候就涉及到如何讓自己的接口滿足三方平台的下划線;

實現方式有

1.java里面也使用下下划線的方式接收和響應,但是不推薦這樣,因為雖然滿足了接口需求,但是不符合java里面的命名規范;

2.java里面使用駝峰,接收到參數后手動轉換,這樣做太麻煩.

3.java里面使用駝峰,寫一個工具方法,通過注解的方式,統一轉換,推薦,也是實際開發中常用的方式

那些地方需要轉換

1.傳入參數的時候(下換線轉為駝峰)

2.響應結果的時候(駝峰轉為下划線)

因為響應結果的時候(駝峰轉為下划線)比較簡單,先搞定這個

2.響應結果的時候(駝峰轉為下划線)

方式一:在返回對象的類上加注解(推介)

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
案例如下:

 

方法二:在字段上注解

@JsonProperty(value = "order_card")

3.傳入參數的時候(下換線轉為駝峰)

方式一:自己手動封裝,不推薦,略;

方式二:接收為Map對接,通過Json轉換(如果系統中只有少數個別接口需要轉換,可以這樣寫);

步驟一:接收對象上的字段上加注解 @JsonProperty(value = "order_card")

 步驟二:控制層出的寫法如下

 

方式三:通過實現接口HandlerMethodArgumentResolver的方式,強烈推薦

步驟一:自定義注解 ParameterConvert

  View Code

步驟二:自定義類AbstractCustomizeResolver

  View Code

步驟三:自定義類 UnderlineToCamelArgumentResolver

  View Code

步驟四:整合到springboot中,在WebConfig中添加如下代碼

  View Code

 步驟五:使用,很簡單,在接收參數的對象前加注解

4.完美 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM