HttpEntity和@RequestBody和@ResponseBody很像。出了能够访问请求和响应体,HttpEntity(和子类ResponseEntity)也能访问请求(和响应)头,就像这样:
@RequestMapping("/something")
public ResponseEntity<String> handle(HttpEntity<byte[]> requestEntity)
throws UnsupportedEncodingException
{
String requestHeader = requestEntity.getHeaders().getFirst("MyRequestHeader");
byte[] requestBody = requestEntity.getBody();
// do something with request header and body
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.set("MyResponseHeader", "MyValue");
return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED);
}
上面的例子获取MyRequestHeader请求头的值,读取请求体为字节数组。还把MyResponseHeader添加到响应中,把Hello World写到响应流中,并设置响应状态码为 201(创建)。
本文讲解了HttpEntity、@RequestBody及@ResponseBody的概念与用法。通过示例代码详细介绍了如何使用HttpEntity来处理HTTP请求和响应头及体。同时,文章还提到了Spring框架中消息转换器的工作原理。
289

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



