SpringBoot 获取前端传递Json的几种方法

Posted 炫金呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 获取前端传递Json的几种方法相关的知识,希望对你有一定的参考价值。

一、Json对象+@RequestBody接收

var val = {id: 1, name: "小明"};
$.ajax({
    url: "/getJson",
    dataType: "JSON",
    type: "post",
    contentType: ‘application/json;charset=UTF-8‘,
    data: JSON.stringify(val),
    success: function (msg) {
        console.log(msg)
    }
})

 

后端获取参数:Map<String,Object>

@PostMapping("/getJson")
@ResponseBody
public Map<String,Object> getJsonVal(@RequestBody Map<String,Object> user) {
    System.out.println("user = " + user.get("id"));
    System.out.println("user = " + user.get("name"));
    return user;
}

后端获取参数:对象

@PostMapping("/getJson")
@ResponseBody
public User getJsonVal(@RequestBody User user) {
    return user;
}

二、传JSON对象

var val = {"id": 1, "name": "小明"};
$.ajax({
    url: "/getJson",
    dataType: "JSON",
    type: "post",
    // contentType: ‘application/json;charset=UTF-8‘, //不能加
    data: val,
    success: function (msg) {
        console.log(msg)
    }
})

后端获取参数

@PostMapping("/getJson")
@ResponseBody
public User getJsonVal(@RequestParam("id") String id,@RequestParam("name") String name) {
    User user = new User();
    user.setId(Integer.parseInt(id));
    user.setName(name);
    return user;
}

三、json集合+@RequestBody接收

var val = [{"id": 1, "name": "小明"},{"id": 2, "name": "小红"}];
$.ajax({
    url: "/getJson",
    dataType: "JSON",
    type: "post",
    contentType: ‘application/json;charset=UTF-8‘, //不能加
    data: JSON.stringify(val),
    success: function (msg) {
        console.log(msg)
    }
})

后端获取参数

@PostMapping("/getJson")
@ResponseBody
public List<User> getJsonVal(@RequestBody List<User> user) throws IOException {
    for(User user2 : user){
        System.out.println("user2 = " + user2);
    }
    return user;
}

 

以上是关于SpringBoot 获取前端传递Json的几种方法的主要内容,如果未能解决你的问题,请参考以下文章

前台 JSON对象转换成字符串 相互转换 的几种方式

前端ajax异步传值以及后端接收参数的几种方式

java中后台向前端传值的几种方式

前端页面显示带格式的json数据

api拆分(数据传递和接收的几种方式)

springmvc 前端 发ajax请求的几种方式