- 使用HttpMessageConverter< T >将请求信息转化并绑定到处理方法的入参中或将响应结果转为对应类型的响应信息,Spring提供了两种途径:
(1) 使用@RequestBody或@ResponseBody对处理方法进行标注
@ResponseBody
@RequestMapping("/testHttpMessageConverter")
public String testHttpMessageConverter(@RequestBody String body ) {
System.out.println(body);
return "hello: " + new Date();
}
(2)使用HttpEntity< T >或ResponseEntity< T >作为处理方法的入参或返回值
-
当控制器处理方法使用到@RequestBody或@ResponseBody或HttpEntity< T >或ResponseEntity< T >时,Spring会首先根据请求头或响应头的Accept属性选择匹配的HttpMessageConverter,进而根据参数类型或泛型类型的过滤得到匹配的HttpMessageConverter,若找不到可用的HttpMessageConverter,将报错
-
@RequestBody和@ResponseBody不需要成对出现。