欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java后台接收json数据

程序员文章站 2024-03-23 09:36:40
...

前台传的数据是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<String,Object> 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<E>接收

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