springmvc如何使用map接收参数

 更新时间:2021年10月28日 14:59:40   作者:changerzhuo  
这篇文章主要介绍了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只会取第一个,不会变成字符数组,或用,隔开,此时只能用属性驱动,或模型驱动

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Elasticsearch开发AtomicArray使用示例探究

    Elasticsearch开发AtomicArray使用示例探究

    这篇文章主要为大家介绍了Elasticsearch AtomicArray使用示例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Java单利模式与多线程总结归纳

    Java单利模式与多线程总结归纳

    这篇文章主要介绍了Java单利模式与多线程总结归纳 的相关资料,需要的朋友可以参考下
    2016-03-03
  • Spring自动装配bean的方式总结

    Spring自动装配bean的方式总结

    这篇主要介绍了Spring自动装配Bean的方式总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2024-01-01
  • IDEA连接MySQL后管理数据库的操作指南

    IDEA连接MySQL后管理数据库的操作指南

    本节就来教大家如何在IDEA连接MySQL后管理数据库(创建/修改/删除数据库、创建/修改/删除表、插入/更新/删除/查询表记录),文中通过图文结合的方式给大家讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • Java基于Swing实现的打猎射击游戏代码

    Java基于Swing实现的打猎射击游戏代码

    这篇文章主要介绍了Java基于Swing实现的打猎射击游戏代码,包含完整的游戏事件处理与逻辑流程控制,具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • Java StackTraceElement实例代码

    Java StackTraceElement实例代码

    这篇文章主要介绍了Java StackTraceElement实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Java concurrency之公平锁(二)_动力节点Java学院整理

    Java concurrency之公平锁(二)_动力节点Java学院整理

    这篇文章主要为大家详细介绍了Java concurrency之公平锁的第二篇内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • spring中使用mybatis plus连接sqlserver的方法实现

    spring中使用mybatis plus连接sqlserver的方法实现

    这篇文章主要介绍了spring中使用mybatis plus连接sqlserver的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • SpringBoot整合RedisTemplate实现缓存信息监控的步骤

    SpringBoot整合RedisTemplate实现缓存信息监控的步骤

    这篇文章主要介绍了SpringBoot整合RedisTemplate实现缓存信息监控,一步一步的实现 Springboot 整合 Redis 来存储数据,读取数据,需要的朋友可以参考下
    2022-01-01
  • SpringJPA 做分页条件查询的代码实践

    SpringJPA 做分页条件查询的代码实践

    相信小伙伴们的项目很多都用到SpringJPA框架的吧,对于单表的增删改查利用jpa是很方便的,但是对于条件查询并且分页 是不是很多小伙伴不经常写到,今天给大家分享SpringJPA 做分页条件查询的案例代码,感兴趣的朋友一起看看吧
    2024-03-03

最新评论