@RequestBoby以及@ResponseBody的用法简单说明
1、@RequestBoby: 请求体;获取一个请求的请求体,接收JSON数据,封装为对象(补充:@RequestBoby主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。)
相关的Java代码
@RequestMapping(value = "/testRequestBoby",method = RequestMethod.POST )
public String testRequestBody( @RequestBody String body) {
System.out.println("请求体" + body);
return "success";
}
前端发送Ajax请求
<script type="text/javascript">
//点击发送ajax请求,请求带的数据是json
$("a:first").click(function () {
//这个是js对象
var emp = {lastName: "张三", email: "zs@aaaa", gender: 0,hobby:"running"};
alert(typeof emp);
var json = JSON.stringify(emp);
alert(typeof json);
alert( json);
$.ajax({
url: "${ctp}/testRequestBoby",
type: "post",
data: json,
contentType:"application/json",
success: function (data) {
alert(data);
}
});
//禁止默认行为
return false;
});
</script>
服务器后台直接把响应来的JSON数据,封装成对象

2、@ResponseBody将返回的数据放到响应体中; 如果返回的是对象,自动将对象转换成json格式
Java代码的相关实现
/**
* 使用ajax获取所有员工
* ResponseBody:将返回的数据放到响应体中;
* 如果返回的是对象,自动将对象转换成json格式
*
*
*/
@ResponseBody
@RequestMapping("/getAllAjax")
public Collection<Employee> ajaxGetAll() {
Collection<Employee> employees = employeeDao.getAll();
return employees;
}
浏览器页面效果展示

本文详细介绍了@RequestBody和@ResponseBody在Java Web开发中的使用。@RequestBody用于接收前端POST请求中的JSON数据并转化为对象,而@ResponseBody则将后台处理后的数据转化为JSON返回给前端。示例代码展示了如何通过Ajax发送JSON数据到后端,并由后端使用@RequestBody解析,以及如何使用@ResponseBody将对象转换为JSON并返回给浏览器。
1265

被折叠的 条评论
为什么被折叠?



