springmvc如何使用map接收参数

作者:changerzhuo 时间:2023-11-28 04:49:17 

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层接受参数:

springmvc如何使用map接收参数

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

请求参数:


{
   "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层接受参数

springmvc如何使用map接收参数

用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只会取第一个,不会变成字符数组,或用,隔开,此时只能用属性驱动,或模型驱动

来源:https://blog.csdn.net/changerzhuo_319/article/details/104426846

标签:springmvc,map,参数
0
投稿

猜你喜欢

  • 深入探讨linux下进程的最大线程数、进程最大数、进程打开的文件数

    2021-07-06 00:49:15
  • C#处理猜拳问题的简单实例(非窗体)

    2021-08-01 18:58:22
  • SpringBoot与SpringCache概念用法大全

    2022-05-24 01:35:44
  • springmvc+shiro+maven 实现登录认证与权限授权管理

    2023-07-04 14:33:03
  • spring基础概念AOP与动态代理理解

    2022-01-29 20:55:13
  • C#读取XML的三种实现方式

    2023-02-08 10:07:01
  • Android Studio 透明状态栏的实现示例

    2022-12-06 21:44:23
  • C#中Array与ArrayList用法及转换的方法

    2021-07-18 13:13:23
  • java如何从不规则的字符串中截取出日期

    2022-05-28 02:33:58
  • 详解C#用new和override来实现抽象类的重写区别

    2022-12-02 01:50:51
  • 浅谈Visual Studio 2019 Vue项目的目录结构

    2023-12-20 20:01:34
  • Java web spring异步方法实现步骤解析

    2023-12-19 03:14:58
  • C#读写config配置文件的方法

    2023-11-17 02:30:17
  • Java如何将字符串String转换为整型Int

    2023-11-10 21:40:19
  • Android开发文件存储实例

    2021-10-13 17:27:01
  • 浅谈java中String的两种赋值方式的区别

    2021-09-21 23:59:36
  • Android拍摄照片后返回缩略图的方法

    2022-11-17 14:44:58
  • C# memcached缓存使用实例代码

    2022-01-15 02:17:11
  • java中Hashmap的get方法使用

    2023-10-29 13:10:05
  • C#控制台实现飞行棋小游戏

    2023-04-27 05:13:43
  • asp之家 软件编程 m.aspxhome.com