java后台接收json数据

前台传的数据是json数据,json数据又有对象,数组。这里后台使用的基于springboot

> 1、以RequestParam接收
前端传来的是json数据不多时:只有几个的时候 ,可以直接用@RequestParam来获取值 或者不用这个注解也行
@PosttMapping()
public String getTestInfo(@RequestParam ("id") int id) {
    return "success";
}


2、以实体类方式接收
 @PostMapping("getUser")
    public String getList(@RequestBody User user){
        return "success";
    }

3、以Map接收
     前端传来的是一个json对象时:{id,username,password},可以用Map来获取 并且也方面获取值
    @PostMapping("getMap")
    //@Cacheable(value= "getList",key="#length",sync = true)
    public String getMap(@RequestBody Map map){
        
        if (map.containsKey("uid")){
            Integer id = Integer.parseInt(map.get("uid").toString());
            System.out.println(id);
        }
        if (map.containsKey("username")){
            String username = map.get("username").toString();
            System.out.println(username);
        }
        if (map.containsKey("password")){
            String password = map.get("password").toString();
            System.out.println(password);
        }
        System.out.println("获取成功");
        return "success";
    }

4.List接收
当前端传来这样一个json数组:[{id,username,password},{id,username,password},{id,username,password},...]时,用List接收

@PostMapping("getList")
    public String getList(@RequestBody List list){
        for (User user: list){
            System.out.println(user.toString());
        }
        return "success";
    }

你可能感兴趣的:(数据交互)