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;
}
結果: