赞
踩
通常情况下,在前后端分离的大背景下,我们后台服务返回给前端的通常都是格式化的数据,比如Json,开始的时候,我们用json包生产一个json的字符串,配合http 协议的一些API 来自定义实现
spring发展到现在,已经都包装出来了通用的处理类:ResponseEntity ,此类继承自HttpEntity
public class ResponseEntity<T> extends HttpEntity<T> {
- private final Object status;
-
- /**
- * Create a new {@code ResponseEntity} with the given status code, and no body nor headers.
- * @param status the status code
- */
- public ResponseEntity(HttpStatus status) {
- this(null, null, status);
- }
-
- /**
- * Create a new {@code ResponseEntity} with the given body and status code, and no headers.
- * @param body the entity body
- * @param status the status code
- */
- public ResponseEntity(@Nullable T body, HttpStatus status) {
- this(body, null, status);
- }
并且做了扩展,用来处理http请求过程中的状态码 ,header,body 等数据。
ResponseEntity是一种泛型类型。因此,我们可以使用任何类型作为响应主体:
@Controller
public class XXXController{ br/>@GetMapping("/hello")
public ResponseEntity<String> hello() {
return new ResponseEntity<>("Hello !", HttpStatus.OK);
}这里字符串"Hello World!"作为字符串返回给REST端。
我们可以设置HTTP标头:
@GetMapping("/customHeader")
ResponseEntity<String> customHeader() {
HttpHeaders headers = new HttpHeaders();
headers.add("Custom-Header", "foo");
return new ResponseEntity<>(
"Custom header set", headers, HttpStatus.OK);
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。