springmvc如何使用map接收参数
作者:changerzhuo 发布时间:2023-11-28 04:49:17
标签:springmvc,map,参数
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只会取第一个,不会变成字符数组,或用,隔开,此时只能用属性驱动,或模型驱动
来源:https://blog.csdn.net/changerzhuo_319/article/details/104426846


猜你喜欢
- 目录场景介绍自动填充处理器Mybatis-Plus配置类配置实体类中相关字段的自动填充策略在阿里开发手册的建表规约中有说明,数据库表中应该都
- 苹果的iphone 有语音识别用的是Google 的技术,做为Google 力推的Android 自然会将其核心技术往Android 系统里
- 在使用 SpringMVC 上传文件时,接收到的文件格式为 MultipartFile,但是在很多场景下使用都需要File格式的文件,记录下
- Java反射机制一、什么是反射机制 简单的来
- 三个例子 —JAVA发送http get/post请求,调用http接口、方法例1:使用 HttpClient (commons-httpc
- 本文实例讲述了Android开发实现跟随手指的小球效果。分享给大家供大家参考,具体如下:配置DrawView类用于绘制小球public cl
- 实验目的:分别使用sqlite3工具和Android代码的方式建立SQLite数据库。在完成建立数据库的工作后,编程实现基本的数据库操作功能
- DownloadManager三大组件介绍DownloadManager类似于下载队列,管理所有当前正在下载或者等待下载的项目;他可以维持
- 场景发布微服务的操作一般都是打完新代码的包,kill掉在跑的应用,替换新的包,启动。spring cloud 中使用eureka为注册中心,
- gradle文件执行流程做过Android开发的同学都知道 ,Android项目中存在三个gradle文件,那你是否知道他们的执行流程呢?请
- 本文实例讲述了C#创建、读取和修改Excel的方法。分享给大家供大家参考。具体如下:windows下我们可以通过 Jet OLE DB访问E
- 前言最近做项目的时候遇到一个卡劵的效果,由于自己觉得用图片来做的话可以会出现适配效果不好,再加上自己自定义view方面的知识比较薄弱,所以想
- 老风格,废话不多说了,直接给大家贴android获取屏幕宽高的代码了。主要代码:package com.km.screeninfo; &nb
- 本文实例讲述了Android模拟器实现手机添加文件到sd卡的方法。分享给大家供大家参考,具体如下:在DDMS中直接添加文件到模拟器sd卡如果
- 话不多说,请看代码/// <summary>/// 删除字符串中的中文/// </summary>public st
- 本文主要为大家讲解多种Android调试工具的用法。 1. 查看当前
- isInstance和isAssignableFromobj instanceof Class判断obj是不是Class或者Class的子类
- C# double.ToString()的用法C# 中 double 类型的数据,有时需要格式化显示为字符串(保留N位有效数字或者是保留N位
- 1. 编译错误//代码1public static void test() throws Exception {throw ne
- 过滤掉其他的播放器,使用我自己的播放器来做 wv.set