HttpEntity

xiaoxiao2021-02-28  92

 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(创建)。

  就像 @RequestBody和 @ResponseBody一样,Spring 使用 HttpMessageConverter在请求和响应流只见进行转换。更多关于这些转换器的消息,参见 消息转换器。
转载请注明原文地址: https://www.6miu.com/read-36163.html

最新回复(0)