zoukankan      html  css  js  c++  java
  • 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;
    }
    复制代码
  • 相关阅读:
    在Win10中通过命令行打开UWP应用
    前端学习Docker
    Puppeteer的使用
    taro教程
    22种开源Vue模板和主题框架「干货」
    36种免费React模板和主题「干货」
    移动端1px显示异常解决方案
    前端性能优化(二)
    Vue.set()和this.$set()源码解析
    2018年8月7日 乐视2 X621 刷机包下载链接
  • 原文地址:https://www.cnblogs.com/dk2557/p/13876679.html
Copyright © 2011-2022 走看看