springMvc常用的接收请求参数注解

  1. @reqeustbody

用于接收json格式的请求体,有两种接收方式,一种是java实体类,会把json格式的请求体转为实体类

    public R adminbook(@RequestBody Project project) {
        System.out.println(project);
        return R.ok().data("data",project);
    }

如果请求体中没有实体类对应的参数,则实体类中各个属性都为空。

第二种方式是Map,会把请求体中的json格式转为map对象,如下

    public R adminbook(@RequestBody Map map) {
        //遍历map
        Iterator<Map.Entry<String, String>> entires = map.entrySet().iterator();
        while (entires.hasNext()) {
            Map.Entry<String, String> entry = entires.next();
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + ":" + value);
        }
        return null;
    }

注意:不能接收form-data类型的请求,会报错,如下

  1. 直接写string,可以接收form表单格式数据(请求头是application/x-www-form-urlencoded),

@postmapping("/adminbook")
    public R adminbook(String projectPlanDescTeacher,
                       String projectId,
                       String projectStatus) {
        System.out.println(projectId);
        System.out.println(projectPlanDescTeacher);
        System.out.println(projectStatus);
        return null;
    }

可以接收请求路径直接携带的

  1. @RequestParam

可以接收form-data格式

    public R info(@RequestParam String u_name, @RequestParam String u_pwd, @RequestParam String roleName) {
        System.out.println(u_name);
        System.out.println(u_pwd);
        System.out.println(roleName);
//        userService.adduser(new User(u_name, u_pwd), roleName);
        return R.ok();
    }

可以接受form-urlencoded格式的数据

    @PostMapping("/adduser")
    public R info(@RequestParam String u_name, @RequestParam String u_pwd, @RequestParam String roleName) {
        System.out.println(u_name);
        System.out.println(u_pwd);
        System.out.println(roleName);
//        userService.adduser(new User(u_name, u_pwd), roleName);
        return R.ok();
    }

也可以接收请求头中的参数

猜你喜欢

转载自blog.csdn.net/sharesb/article/details/128992537