@ResponseBody于@RequestBody注解在springMvc中的区别有哪些

  介绍

这篇文章将为大家详细讲解有关@ResponseBody于@RequestBody注解在springMvc中的区别有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

springMvc对json的前后台传输做了很好封装,避免了重复编码的过程,下面来看看常用的@ResponseBody和@RequestBody注解

<强>添加依赖

springMvc对json的处理依赖杰克逊

& lt; dependency>   & lt; groupId> org.codehaus.jackson   & lt; artifactId> jackson-core-asl   & lt; version> 1.9.11   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.codehaus.jackson   & lt; artifactId> jackson-mapper-asl   & lt; version> 1.9.11   & lt;/dependency>

<强> xml配置

& lt; mvc:注解驱动/在//不要忘了命名空间配置

<强> @ResponseBody

如果传输的是单层json对象,我们后台可以直接用@RequestParam接收

. ajax({美元   类型:“post",   数据类型:“json"   url:“/testRequestBody"   数据:{   名称:“韦德“,   年龄:35   },   成功:函数(结果){   }   }); @RequestMapping (“/testRequestBody")   公共字符串testRequestBody (@RequestParam Map<字符串,Object>地图){   System.out.println(地图);//{name=韦德,35岁=}   返回“index";   }

如果传输的是多层嵌套json对象,这个时候会就会出现数据丢失问题

@ResponseBody很好的解决了这个问题,它会把前台传输过来的json转化为后台对应的对象

. ajax({美元   类型:“post",   数据类型:“json"   url:“/testRequestBody"   contentType:“应用程序/json"   数据:JSON.stringify ({   名称:“韦德“,   赢得(2006、2012、2013):,   年龄:35   }),   成功:函数(结果){   }   }); @RequestMapping (“/testRequestBody")   公共字符串testRequestBody (@RequestBody Map<字符串,Object>地图){   System.out.println(地图);//{name=韦德,赢得=(2006、2012、2013)=35岁}   返回“index";   }

需要注意的是前台需要指定contentType为“应用程序/json"

同时要把json对象转化为字符串,否则后台不能识别

<强> @ResponseBody

ajax请求返回json格式,往常我们可以这样做

 

这个时候@ResponseBody就派上用场了,只需要一个注解,全部搞定

. ajax({美元   类型:“post",   数据类型:“json"   url:“/testResponseBody"   成功:函数(结果){   console.info(结果);   }   });
@RequestMapping (“/testResponseBody")   @ResponseBody   公共Map<字符串,Object>testRequestBody () {   Object> Map<字符串;结果=new HashMap<字符串,Object> ();   result.put (“name",“韦德“);   result.put (“age" 35);   返回结果;   }

前台控制台输出

{   “age": 35,   “name":“韦德“;   }

<>强总结

在网上看到很不错的流程图,作为总结吧

 @ResponseBody于@RequestBody注解在springMvc中的区别有哪些

关于@ResponseBody于@RequestBody注解在springMvc中的区别有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

@ResponseBody于@RequestBody注解在springMvc中的区别有哪些