Spring HTTP 请求下划线参数转换为小驼峰参数

Spring HTTP 请求下划线参数转换为小驼峰参数

场景概述:
最近项目中使用到外部API,对方回传的参数格式为蛇形命名规则的参数(student_name),而我需要将其转换为小驼峰规则的参数(studentName),比较常规的做法就是自定义一个转换器,比较麻烦。以下是后来想到的一种方案

原理

项目中使用的是fastJson,所以这里以fastJson为例。

  1. fastJson在解析字符串到POJO类型时,会自动将 ** _w ** 转换为 W ,即fastJson会自动转换蛇形命名规则参数到小驼峰命名规则
  2. 在http请求中,可以使用 @RequestBody String student 获取请求参数的Json串
  3. 之后解析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;

}

结果:

posted @ 2019-10-17 09:51  千里暮雲平  阅读(7828)  评论(0编辑  收藏  举报