springmvc如何使用map接收参数
程序员文章站
2022-03-04 15:13:15
目录springmvc 使用map接收参数第一种情况:请求参数有多组第二种情况:所有的参数不分组用map接收参数的几个注意的问题1、接受map的参数不能写value2、对于多个同名字段springmv...
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<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层接受参数
用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只会取第一个,不会变成字符数组,或用,隔开,此时只能用属性驱动,或模型驱动
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
为什么无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用!该如何处理
-
如何使用JavaScript获取URL参数
-
如何使用JS.map()方法(数组方法)
-
springMvc 的参数验证 BindingResult result 的使用
-
springMvc参数验证BindingResult的使用
-
详解Spring MVC如何测试Controller(使用springmvc mock测试)
-
java如何对map进行排序详解(map集合的使用)
-
SpringMVC接收复杂集合对象(参数)代码示例
-
详解如何在Spring Boot项目使用参数校验
-
SpringMvc接收参数方法总结(必看篇)