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