Spring @requestBody

Posted newlangwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring @requestBody相关的知识,希望对你有一定的参考价值。

页面提交请求参数有两种,一种是form格式,一种是json格式

jQuery的$.post方法虽然也可以传递json格式数据,但实际上是用的form格式提交,jquery会帮你把json转成form格式提交后台

所以其实可以通过$.post,$.get来提交json格式,让jquery帮你转换,可是如果后端用restful,那就只能用以下方法解决

<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:"PUT",   
            url:"/user",   
            dataType:"json",        
            contentType:"application/json;charset=utf-8",                 
            data:JSON.stringify(saveData),   
            success:function(data){   
                                         
            }   
         });   
    });    
</script>   

后台接收:

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

 

以上是关于Spring @requestBody的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot - Json RequestBody,带/不带引号的字符串/枚举

自定义spring参数注解 - 打破@RequestBody单体限制

Spring Boot 和 MVC:如何从 application.properties 为 @RequestBody 对象字段设置默认值?

来自接口的 Spring @RequestBody

使用 Spring MockMVC 测试 Spring 的 @RequestBody

Spring中的@RequestBody和@ResponseBody注解