@requestBody:
位置:放在形参前面。
作用:将前台ajax传递过来的json格式数据自动转换成跟形参相匹配的javabean(注意:前台的数据名称必须要跟javabean的属性的名称相同才能正确匹配)。
注意事项:
1.@RequestBody需要把所有请求参数作为json解析,因此,不能包含key=value这样的写法在请求url中,所有的请求参数都是一个json
2.直接通过浏览器输入url时,@RequestBody获取不到json对象,需要用java编程或者基于ajax的方法请求,将Content-Type设置为application/json
@responseBody:
位置:放在方法前面。
作用:@responsebody表示该方法的返回结果直接写入HTTP response body中
一般在异 步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路 径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。
注意事项:
1.@responseBody在返回到前台时,前台的ajax的dateType必须设置成json,这样才保证能够正确读取数据。
2.数据上,需要注意的是,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。