Spring HTTP 请求下划线参数转换为小驼峰参数
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;
}
结果:
第一要有志,第二要有识,第三要有恒。