小工具      在线工具  汉语词典  css  js  c++  java

SpringMVC的RequestBody注解

Java 额外说明

收录于:92天前

请求体的使用

@RequestBody接收的是一串Json对象,而不是Json对象。然而ajax请求中,往往会传输Json对象。后来我发现可以使用JSON.stringify(data)将对象变成字符串。同时,在进行ajax请求时还必须指定dataType:“json”、contentType:“application/json”。这样就可以很方便的向Java端传递一个对象或者List,并使用@RequestBody来绑定该对象或者List。

JS编写方法:

<script type="text/javascript"> 
    $(document).ready(function(){ 
        var saveDataAry=[]; 
        var data1={"userName":"test","address":"gz"}; 
        var data2={"userName":"ququ","address":"gr"}; 
        saveDataAry.push(data1); 
        saveDataAry.push(data2);        
        $.ajax({
            type:"POST",
            url:"user/saveUser",
            dataType:"json",     
            contentType:"application/json",              
            data:JSON.stringify(saveData),
            success:function(data){
            }
         });
    }); 
</script>

Spring写法:

@RequestMapping(value = "saveUser", method = {RequestMethod.POST }})
    @ResponseBody 
    public void saveUser(@RequestBody List<User> users) {
         userService.batchSave(users);
    } 

对于前端传过来的json数据,也可以使用Map来接收,如下:

    @ResponseBody
    @RequestMapping(value = "/insertUser", method = RequestMethod.POST)
    public Result<String> insertUser(@RequestBody Map<String, Object> params) {

        AntUserInfo userInfo = getAntUserInfo();

        String fenceNo = ObjectUtils.toString(params.get("fenceNo"));
        String fenceName = ObjectUtils.toString(params.get("fenceName"));

        // 参数解析
        JSONArray userList = null;
        try {
            userList = JSONArray.parseArray(ObjectUtils.toString(params.get("userList")));
        } catch (Exception e) {
            throw new ServiceException("用户参数格式错误", "500");
        }

        List<UserSave> saveList = new ArrayList<UserSave>();
        if (userList != null) {
            for (int i = 0; i < userList.size(); i++) {
                JSONObject userObject = userList.getJSONObject(i);
                String userName = ObjectUtils.toString(userObject.get("userName"));
                String userId = ObjectUtils.toString(userObject.get("userId"));
                String mobilePhone = ObjectUtils.toString(userObject.get("mobilePhone"));
            }
        }

        return service.insertUser(saveList, fenceNo);
    }
}

. . .

相关推荐

额外说明

Spring框架自带push吗?

文章目录 前言 源码类 配置和使用 运行测试 注意事项 文章代码参考 Springboot设置ApplicationEvent 编写事件数据封装类 注入Spring容器 配置控制器 请求测试 前言 昨天看Spring框架源码部分,发现Spring容器中的

额外说明

C#中的继承窗体

目录  一、通过编程方式创建继承窗体 (1)在默认窗体Form1中添加控件 (2)添加控件的事件 (3)添加事件的内容 (4)运行  二、通过编程方式创建继承窗体 (1)修改Form2为继承窗体    (2)修改Form2的属性 (3)修改启动窗体 (4

额外说明

7 个很棒的 Java 单元和集成测试库

7 个很棒的 Java 单元和集成测试库 本文译自:7 Awesome Libraries for Java Unit and Integration Testing 想要改进您的 Java 单元和集成测试?这里有七个库,您可能会发现它们对您的日常工作很

额外说明

ceph常用命令整理

工作中需要计算云盘快照容量以及云盘自身的大小 #创建 5G大小的 image rbd create ceph-pool/rbd-demo-1.img --size 5G #物理机上面 rbd map挂载卷 rbd -c /etc/ceph/ceph.1

额外说明

【Java 进阶篇】Java HTTP响应消息详解

在Web开发中,HTTP(Hypertext Transfer Protocol)是一种用于传输数据的协议,它用于浏览器和Web服务器之间的通信。当你在浏览器中访问一个网页时,浏览器向Web服务器发送HTTP请求,然后Web服务器返回HTTP响应。这篇文

额外说明

动态规划之敏感词匹配(C/C++)

动态规划之敏感词匹配(C/C++) 敏感词匹配动态规划可以看成一个很简单的表格问题,个人认为其匹配过程更像是走棋。 案例(动态规划,遇事不决画表格:-) ) 从案例中可以看出很明显整体走势,字符未匹配向右移动一步,匹配下一移一步并标记一处"更新节点",若

额外说明

前后端分离的用户验证原理及Spring Boot + JWT的框架搭建(附完整的框架代码)之一

Java Web项目开发方式 Java Web的开发有以下几种: 单纯JSP开发 结合模板引擎的JSP开发(比如Thymeleaf),模板引擎提供了更多页面和数据结合的组件,很大程度减轻了页面开发的工作量。 结合前端组件和框架的开发,比如JQuery、E

额外说明

Vue3.x router 安装与引入

目录 一、安装 二、配置 三、其它 一、安装 官方安装教程可进入此处 npm i vue-router@4 二、配置 1、src 文件夹下新建 router/index.ts import { createRouter, createWebHashHis

额外说明

ctf.show web 刷题记录

文章目录 红包题第二弹 web13 web14 方法一 方法二 红包题第六弹 红包题第二弹 打开题目,提示参数cmd 我们随便输入?cmd=1 得到源代码 ctf.show_红包题 where is the flag? <?php #error_rep

额外说明

稳定扩散报告 Torch 无法使用 GPU;将 --skip-torch-cuda-test 添加到 COMMANDLINE_ARGS 变量

稳定扩散报告 Torch 无法使用 GPU;将 --skip-torch-cuda-test 添加到 COMMANDLINE_ARGS 变量以禁用此检查错误和故障排除 背景 先说一下我的显卡配置 3060Ti ,当刚开始报这个错误的时候,发现基本上很多博

ads via 小工具