一、HttpEntity 获取请求
HttpEntity:可以获取请求的内容(包括请求头与请求体)
页面提交数据:
<form action="${ctp}/testHttpEntity" method="post" enctype="multipart/form-data"> <input name="username" value="tomcat" /> <input name="password" value="123456" /> <input name="file" type="file"> <input type="submit" /> </form>
控制器方法:
/** * 如果参数位置写 HttpEntity<String> str,可以获取请求信息 * 不仅可以获取到请求体,可以获取到请求头数据 * * @RequestHeader("") 根据key获取请求头 * @param str * @return */ @RequestMapping(value = "/testHttpEntity") public String testHttpEntity(HttpEntity<String> str) { System.out.println("HttpEntity:" + str); return "success"; }
输出:
请求体与请求头之间会以 逗号 进行分割。
二、ResponseEntity<T> 设置响应
ResponseEntity 用于设置响应头、响应体与响应状态码。
示例:
/** * ResponseEntity<T>: T 响应体内容的类型 * @return */ @RequestMapping(value = "/testResponseEntity") public ResponseEntity<String> testResponseEntity() { String body = "<h1>success</h1>"; MultiValueMap<String, String> headers = new HttpHeaders(); headers.add("set-cookie", "username=Tom"); ResponseEntity<String> responseEntity = new ResponseEntity<>(body, headers, HttpStatus.OK); return responseEntity; }
浏览器: