Spring HTTP 请求下划线参数转换为小驼峰参数
场景概述:
最近项目中使用到外部API,对方回传的参数格式为蛇形命名规则的参数(student_name),而我需要将其转换为小驼峰规则的参数(studentName),比较常规的做法就是自定义一个转换器,比较麻烦。以下是后来想到的一种方案
原理
项目中使用的是fastJson,所以这里以fastJson为例。
- fastJson在解析字符串到POJO类型时,会自动将 ** _w ** 转换为 W ,即fastJson会自动转换蛇形命名规则参数到小驼峰命名规则
- 在http请求中,可以使用 @RequestBody String student 获取请求参数的Json串
- 之后解析json串即可
代码
请求参数
{ "student_name":"leo", "student_age":"000" }
controller
/** * @author leo.z.l * @create 2019-10-16 22:20 */ @RestController public class Controller { @PostMapping(value = "test",consumes ="application/json") public void test(@RequestBody String student){ Student student1 = JSON.parseObject(student, Student.class); System.out.println(student1); } }
POJO
/** * @author leo.z.l * @create 2019-10-16 22:21 */ @Data public class Student { private String studentName; private String studentAge; }
结果: