JSON处理(一):HTTP请求响应的JSON化 @RequestBody 和 @ResponseBody

现Web开发中实行前后分离,数据交互为JSON形式,现对后端如何接收、返回JSON形式数据做介绍

abstract.png

@RequestBody 注解

将Http Request的请求体中的数据(json/xml)绑定到Controller方法的形参Bean对象上。而能否将body数据能否由@RequsetBody注解成功进行解析绑定,取决于请求头的Content-Type字段的值,应该为:application/json

该注解用于Controller的形参Bean前即可

@ResponseBody 注解

将controller返回的对象,转换为JSON格式数据,并写入到Response的响应体中。

该注解用于Controller方法上;也可以直接用于类上,表示该类中的所有Controller方法均应用该注解

示例

如下实例,向 http://localhost:8080/demo1 发送POST请求,请求体中为JSON数据:{“age”: 37,”name”: “Tom”}后

1
2
3
4
5
6
7
@RequestMapping(value="/demo1")
@ResponseBody
public User demo1(@RequestBody User user)
{
System.out.println("get name is : " + user.getName() + ", age: " + user.getAge());
return user;
}

可以看到控制台输出如下,说明@RequestBody接收绑定请求体的数据成功

1
get name is : Tom, age: 37

返回的响应体内容如下,说明@ResponseBody返回JSON数据成功

1
{"name":"Tom","age":37}

0%