开发过程中有时候我们并不知道前端都会传递哪些参数给到后端.为方便扩展接口功能, 在请求参数不改变的情况下兼容前端新增的入参的需求, 我们会考虑使用map接受参数. 这样无论前端加减参数, controller的入参是不需要变动的.
第一种情况: 请求参数有多组, 如:一组个人信息, 一组地址信息
请求参数:
{
"personInfo": {
"name1": "zona",
"name2": "carl",
"age": 23
},
"address": {
"上海": "code1",
"北京": "code2"
}
}
controller层代码:
// map的value参数类型设置为object
@PostMapping("/map")
public void map(@RequestBody Map<String, Object> mapParam){
System.out.println(mapParam);
}
controller层接受参数:
第二种情况, 所有的参数不分组:
请求参数:
{
"name1": "zona",
"name2": "carl",
"age": 23
}
controller层代码
// map的value类型是String
@PostMapping("/map")
public void map(@RequestBody Map<String, String> mapParam){
System.out.println(mapParam);
}
controller层接受参数