千家信息网

基于controller使用map接收参数的注意事项是什么

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章主要介绍"基于controller使用map接收参数的注意事项是什么",在日常操作中,相信很多人在基于controller使用map接收参数的注意事项是什么问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2024年11月17日基于controller使用map接收参数的注意事项是什么

这篇文章主要介绍"基于controller使用map接收参数的注意事项是什么",在日常操作中,相信很多人在基于controller使用map接收参数的注意事项是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"基于controller使用map接收参数的注意事项是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

controller使用map接收参数注意事项

关于前端使用map去接收参数的问题

@PostMapping("test01")@ResponseBody                        // 如果这里不加@RequestBody,那么springmvc默认创建的是BindAwareModelMappublic Object test01( Map dataMap) { // 对象,并且都参数都不会封装进去    System.out.println(dataMap);    dataMap = null;    return new BindingAwareModelMap(); // 如果返回BindingAwareModelMap对象,就会抛出异常}

正确封装姿势

@Controller@RequestMapping("map")public class MapController {    @PostMapping("test01")    @ResponseBody                                    // 如果加了@RequestBody,那么创建的是LinkedHashMap    public Object test01(@RequestBody Map dataMap) { // 并且参数都封装了进去(url路径参数和json参数都会封装进去)        System.out.println(dataMap);        dataMap.put("msg", "ojbk");        return dataMap;    }}

结论:如果使用map接收前端参数,那么一定要加@Requestbody才行

#mybatis使用map封装参数,@Select("select * from t_product where pid = #{pid} or pname = #{pname}")List getByMap(Map map);    #mybatisplus中有写好的方法List selectByMap(@Param("cm") Map columnMap);

正确封装姿势2

@Datapublic class Page {    private Map dataMap = new HashMap(); // 这里可以不用初始化,加了@RequestBody,默认创建LinkdedHashMap}@Controller@RequestMapping("map")public class MapController {    @PostMapping("test01")    @ResponseBody    public Object test01(@RequestBody Page page) { // 一定要加@RequestBody,否则封装不进去        return page;    }}

前端需要使用json传参格式:

{    "dataMap":{        "name":"zzhua"    }}

controller使用map接收参数并用POSTman测试

controller层

@PostMapping("/xksq/getGjclByCondition")public ResultInfo getGjclByCondition(@RequestBody Map params,HttpServletRequest request){    Map map = new HashMap<>();    try {        Integer iPageIndex = (Integer) params.get("iPageIndex");        Integer iPageSize = (Integer) params.get("iPageSize");        PageHelper.startPage(iPageIndex!=null?iPageIndex:1,iPageSize!=null?iPageSize:10);        String username = JwtUtil.getUsername(request.getHeader("token"));        Rfgcgl user = rfgcglMapper.selectOne(new QueryWrapper().eq("YHMC", username));        if(null==user){            return ResultInfo.fail(903,"用户不存在");        }        params.put("qynbbh",user.getQyNbBh());        List> gjclByCondition = clxxQysqMapper.getGjclByCondition(params);        PageInfo> pageInfo = new PageInfo<>(gjclByCondition);        map.put("total",pageInfo.getTotal());        map.put("datas",pageInfo);        return ResultInfo.ok(map);    }catch (Exception e){        e.printStackTrace();        return ResultInfo.fail(901, "列表条件查询失败");    }}

使用postman测试

到此,关于"基于controller使用map接收参数的注意事项是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

参数 封装 事项 注意事项 学习 前端 姿势 对象 方法 更多 问题 帮助 测试 实用 接下来 不用 文章 条件 格式 理论 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网巨头不发展科技 数据库系统的安全性如何保障 新郑软件开发培训机构 u8数据库安装前我们先要干什么 网络技术批发价格 电脑简单web服务器软件 软件开发项目启动会的作用 开福区软件开发学院 网络安全标准化实施细则 股票软件开发成本估算 网络安全生态试卷8答案 软件开发app哪家有实力 上海多功能网络技术设计 计算机网络技术大赛题型 如何查询数据库有多少行 科来网络技术优势 用友服务器备份数据 我的世界怎么用云端开服务器 无线传感网络技术应用实训报告 安徽服务器机箱厂家云空间 杭州泡吧网络技术有限公司 游戏服务器建设 密云区综合软件开发大概费用 浦东新区生态网络技术价格查询 大众迈腾导航数据库 珠海海岸线软件开发 数据库的表的字段默认值怎么定义 还原数据库提示无法启动该数据库 dhcp服务器查询 从事软件开发分类
0