Spring REST开发:资源表示与客户端编写
1. 使用HTTP消息转换器
在Spring MVC中,典型的控制器方法会将信息放入模型并指定视图来渲染数据给用户。但当控制器的任务是生成资源表示时,可以绕过模型和视图,直接将控制器返回的对象转换为适合客户端的表示形式。
1.1 在响应体中返回资源状态
通常,处理方法返回的Java对象会放入模型用于视图渲染。但如果方法使用了 @ResponseBody
注解,HTTP消息转换器机制会将返回的对象转换为客户端所需的形式。
例如,以下是 SpitterController
中的 getSpitter()
方法:
@RequestMapping(value = "/{username}", method = RequestMethod.GET,
headers = {"Accept=text/xml, application/json"})
public @ResponseBody
Spitter getSpitter(@PathVariable String username) {
return spitterService.getSpitter(username);
}
@ResponseBody
注解告诉Spring将返回的对象作为资源发送给客户端,并转换为客户端可接受的表示形式,具体形式由请求的 Accept
头决定。如果请求没有