精华内容
下载资源
问答
  • controller使用map接收参数注意事项

    千次阅读 2020-07-07 12:35:37
    #关于前端使用map接收参数的问题 @PostMapping("test01") @ResponseBody // 如果这里不加@RequestBody,那么springmvc默认创建的是BindAwareModelMap public Object test01( Map dataMap) { // 对象,并且都参数都...

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

    @PostMapping("test01")
    @ResponseBody                        // 如果这里不加@RequestBody,那么springmvc默认创建的是BindAwareModelMap
    public 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<Product> getByMap(Map map);
        
    #mybatisplus中有写好的方法
    List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);
    
    #正确封装姿势2
    @Data
    public 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"
        }
    }
    
    展开全文
  • 1.controller层 @PostMapping("/xksq/getGjclByCondition") public ResultInfo getGjclByCondition(@RequestBody Map<String,Object> params,HttpServletRequest request){ Map<String,Object> ...

    1.controller层

    @PostMapping("/xksq/getGjclByCondition")
    public ResultInfo getGjclByCondition(@RequestBody Map<String,Object> params,HttpServletRequest request){
        Map<String,Object> 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<Rfgcgl>().eq("YHMC", username));
            if(null==user){
                return ResultInfo.fail(903,"用户不存在");
            }
            params.put("qynbbh",user.getQyNbBh());
            List<Map<String, Object>> gjclByCondition = clxxQysqMapper.getGjclByCondition(params);
            PageInfo<Map<String, Object>> 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接收参数时必须使用 @RequestBody接收参数,否则后台会出现接收不到的情况

    展开全文
  • SpringMVC controller用Map接收不确定参数

    万次阅读 2018-08-17 14:54:05
    @RequestMapping(value="/test",method={RequestMethod.POST,RequestMethod.GET}) @ResponseBody public String test(@RequestParam Map&...map前边要加上@RequestParam,参数才能自动进入到map中...
    @RequestMapping(value="/test",method={RequestMethod.POST,RequestMethod.GET})
    @ResponseBody
    public String test(@RequestParam Map<String,String> map){
    
    }

    map前边要加上@RequestParam,参数才能自动进入到map中

    展开全文
  • 这次是为后台写一个条件查询的接口,我是使用了Map集合来接收多个查询条件,但是在使用swagger测试的时候,接口总是接收不到参数,无论是使用@RequestBody还是@RequestParam都不能接收map数据 后来发现不是这个...

    这次是为后台写一个条件查询的接口,我是使用了Map集合来接收多个查询条件,但是在使用swagger测试的时候,接口总是接收不到参数,无论是使用@RequestBody还是@RequestParam(用RequestParam注解可以获取传来的数据,但在使用map.get(“key”)方法获取想要的value时却总是null)都不能接收到map数据
    在这里插入图片描述
    后来发现不是这个地方的问题,而是这个方法的注解错误,因为这是查询,所以我理所当然的使用了@GetMapping
    在这里插入图片描述
    后来发现,只要把GetMapping改成PostMapping就可以了
    在这里插入图片描述

    展开全文
  • controller中用接Map集合接收参数

    万次阅读 2018-09-28 10:50:06
    controller中用Map&amp;amp;amp;lt;String, String&amp;amp;amp;gt; map去接收参数,前台传来的是json字符串,后端如果需要的字段比较少的话,就...map接收过来的字符串也是KV形式的,就是json形式。 ...
  • 2.后台接收: @ResponseBody @PostMapping("userLogin") public AppResponse doLogin(@RequestBody(required = false) Map<String, String> params, HttpSession session) throws UnsupportedEnc...
  • type: "post", dataType:'json', data: {"start":1,"limit":10}, @RequestPrameter Map<String, Object> params 上面分别是前台ajax和后台controller
  • Map<String,Object> 前加@RequestParam
  • spring-mvc中controller,前端传过来的参数,数组,列表,Map来接受参数的方式。 仅使用get方法来进行演示,其他请求方法(POST,DELETE,PUT)接受参数的形式都是一样的。 数组接受参数 import org.spring...
  • spring mvc controller可以用Map接收jsp传来的值么???jsp怎么写,controller又怎么写??请求大神指教
  • springmvc 使用map接收参数

    千次阅读 2020-02-21 14:03:11
    为方便扩展接口功能, 在请求参数不改变的情况下兼容前端新增的入参的需求, 我们会考虑使用map接受参数. 这样无论前端加减参数, controller的入参是不需要变动的. 第一种情况: 请求参数有多组, 如:一组个人信息, 一...
  • 前端发送post请求,使用ajax发送json字符串,使用ajax以post方式发送json数据只能发送json字符串才能被控制器用Map接收,如果发送json对象,就会导致请求数据变成这样:), 这样的数据是没办法被SpringMVC解析的。...
  • 背景 脱离传统项目,使用微服务集群开发后。...restful post请求提交的参数什么接收? 关键字 Map、Entity 内容 1、首先,传统的接收使用HttpServletRequest同时支持get问好提交和form表单post提交,后台获取...
  • 3.后台以Map方式接收 后台接收方式: 前台传参:(前台传递的参数中,Map中还包括一个“data”) { "Attrib1": 1, "tegggg": "1D8O5C5B", "data":[ { "btn": "1", "btnValue": 5
  • public class TestController { @GetMapping("/f1") public void func1(@RequestParam(required = false)Map map){ System.out.println(map); //{name=新一, age=22} } @GetMapping("/f2") pub
  • 属性名[map的key],map的value ?params%5Bunids%5D=1%2C2
  • mybatis使用Map 接收返回值

    千次阅读 2020-09-09 10:32:03
    select id="selectLiveActivityL" resultType="Map"> SELECT IFNULL(Set_Value,0) AS Set_Value FROM baseset WHERE Base_Set_Id IN (3,4,5) </select> 取出baseset 表中Base_Set_Id为3,4,5的数据,...
  • java基础:使用Map接收返回结果集

    千次阅读 2019-07-08 09:49:03
    Controller层: //主要代码 List<Map> results = service.getAccountInfo(map); Service层: //接口层 List<Map> getAccountInfo(Map map)throws Exception; //实现层 @Override pu...
  • springboot使用Map接收请求参数

    万次阅读 2019-12-02 09:58:41
  • 结论:实体中与传递过来的参数(我这边是form表单提交)同名时会被正常的赋值;而所有参数不管是实体里的还是实体里面没有的,都会在map里面。 ...
  • Map,User> map= mapper.readValue(json, HashMap.class); System.out.println(map); json转list ArrayList<String> list= mapper.readValue(json, ArrayList.class); System.out.println(list); json转...
  • ajax向SpringMVC Controller传参,并且Controller返回map的方法。 ajax向SpringMVC Controller传参,并且Controller返回map的方法。 最近写项目的时候用到了SpringMVC框架,在页面中ajax和Controller互相传值的...
  • ajax向SpringMVC Controller传参,并且Controller返回map的方法 最近写项目的时候用到了SpringMVC框架,在页面中ajax和Controller互相传值的过程中,遇到了很多问题,在此记录一下。 前端jsp。 后台Control...
  • RestTemplate post请求使用map传参 Controller 接收不到值的解决方案 postForObject方法源码解析.md
  • 第一类:请求路径参数 1、无注解,形参名==前台参数名 @RequestMapping("login") ... Map<String, String> map = new HashMap<>(); map.put("name",name); map.put("password",password); .

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,503
精华内容 18,601
关键字:

controller用map接收