springmvc如何使用map接收参数

网友投稿 1216 2022-11-27

springmvc如何使用map接收参数

springmvc如何使用map接收参数

目录springmvc 使用map接收参数第一种情况:请求参数有多组第二种情况:所有的参数不分组用map接收参数的几个注意的问题1、接受mawwDoPbp的参数不能写value2、对于多个同名字段

springmvc 使用map接收参数

开发过程中有时候我们并不知道前端都会传递哪些参数给到后端. 为方便扩展接口功能, 在请求参数不改变的情况下兼容前端新增的入参的需求, 我们会考虑使用map接受参数. 这样无论前端加减参数, controller的入参是不需要变动的.

第一种情况:请求参数有多组

如:一组个人信息, 一组地址信息

请求参数:

{

"personInfo": {

"name1": "zona",

"name2": "carl",

"age": 23

},

"address": {

"上海": "code1",

"北京": "code2"

}

}

controller层代码:

// map的value参数类型设置为object

@PostMapping("/map")

public void map(@RequestBody Map mapParam){

System.out.println(mapParam);

}

controller层接受参数:

第二种情况:所有的参数不分组

请求参数:

{

"name1": "zona",

"name2": "carl",

"age": 23

}

controller层代码

// map的value类型是String

@PostMapping("/map")

public void map(@RequestBody Map mapParam){

System.out.println(mapParam);

}

controller层接受参数

用map接收参数的几个注意的问题

public void TbConOrdPriceSubmit(@RequestParam(value="cdListKeyArrayFront",required=false) String[] cdListKeyArrayFront,@RequestParam(required=false) Map parMap,

HttpSession session, HttpServletRequest request, HttpServletResponse response, Model model, TbConOrdVo tbConOrdVo)

1、接受map的参数不能写value

否则不能自动打包前面的字段,其与模型驱动,属性驱动不冲突,最多就是数据冗余

2、对于多个同名字段

map只会取第一个,不会变成字符数组wwDoPb,或用,隔开,此时只能用属性驱动,或模型驱动

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:thinkphp5 数据查询字段为type,转换为现有文字模型封装
下一篇:centos6.9 yum安装高版本php,apache,mysql
相关文章

 发表评论

暂时没有评论,来抢沙发吧~