详解SpringMVC @RequestBody接收Json对象字符串

 更新时间:2017年01月11日 11:20:56   作者:椰汁菠萝  
这篇文章主要介绍了详解SpringMVC @RequestBody接收Json对象字符串,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

通常情况下我们使用的都是form格式提交的数据,数据格式:k=v&k=v,这个时候用springMVC接收参数没有问题,但有时候前端会通过json向后端传递数据,就会出现springMVC获取不到参数值的情况

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

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

JavaScript 代码:

<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>  

后端springMVC接收

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

注意:提交的data必须为json格式字符串,content-type为'application/json; charset=utf-8'表明提交的类型和编码格式,dataType是预期服务端返回的数据类型,其中对json字符串的格式有严格要求,形如:'{"type":"type","fileftppath":"fileftppath","map":{"id":1,"name":"suo"}}',字符串,key的双引号是必须的,否则400 bad request,当然如果你数据格式不正确,也会400,比如你传了个"step1",后端用Integer接收,也是400,直接从json对象转json串,这个json串格式是不会有问题的,如果400,只能是数据格式了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java8新特性 stream流的方式遍历集合和数组操作

    java8新特性 stream流的方式遍历集合和数组操作

    这篇文章主要介绍了java8新特性 stream流的方式遍历集合和数组操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 详解mybatis-plus的 mapper.xml 路径配置的坑

    详解mybatis-plus的 mapper.xml 路径配置的坑

    这篇文章主要介绍了详解mybatis-plus的 mapper.xml 路径配置的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Springmvc DispatcherServlet原理及用法解析

    Springmvc DispatcherServlet原理及用法解析

    这篇文章主要介绍了Springmvc DispatcherServlet原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • SpringMvc根据返回值类型不同处理响应的方法

    SpringMvc根据返回值类型不同处理响应的方法

    这篇文章主要介绍了SpringMvc根据返回值类型不同处理响应,我们可以通过控制器方法的返回值设置跳转的视图,控制器支持如void,String,ModelAndView类型,需要的朋友可以参考下
    2023-09-09
  • Spring MVC请求参数与响应结果全局加密和解密详解

    Spring MVC请求参数与响应结果全局加密和解密详解

    这篇文章主要给大家介绍了关于Spring MVC请求参数与响应结果全局加密和解密的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • java8新特性教程之time包使用总结

    java8新特性教程之time包使用总结

    Java8新增了date和time的util包,下面这篇文章主要给大家介绍了关于java8新特性教程之time包使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • java排序算法之_选择排序(实例讲解)

    java排序算法之_选择排序(实例讲解)

    下面小编就为大家带来一篇java排序算法之_选择排序(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Java日常练习题,每天进步一点点(33)

    Java日常练习题,每天进步一点点(33)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • java实现角色及菜单权限的项目实践

    java实现角色及菜单权限的项目实践

    在Java中,实现角色及菜单权限管理涉及定义实体类、设计数据库表、实现服务层和控制器层,这种管理方式有助于有效控制用户权限,适用于企业级应用,感兴趣的可以一起来了解一下
    2024-09-09
  • Java @Validated遇到的大坑与处理

    Java @Validated遇到的大坑与处理

    这篇文章主要介绍了Java @Validated遇到的大坑与处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论