ResponseEntity.BodyBuilder和自定义ResponseEntity例子以及状态码

ResponseEntity.ok() 和 ResponseEntity.BodyBuilder()
返回200(HttpStatus.SC_OK)

@RequestMapping("/check")
public ResponseEntity check() {
    BodyBuilder builder = (BodyBuilder) ResponseEntity.ok();
    builder.allow(HttpMethod.GET);
    builder.contentType(MediaType.TEXT_HTML);
    builder.eTag("W/MyeTag\"");
    return builder.body("Hello World!");
}

ResponseEntity.status()
使用HttpStatus返回需要的HttpCode

@RequestMapping("/handle")
public ResponseEntity handle() {
   return ResponseEntity.status(HttpStatus.SC_CREATED).body("Created Success");
}

ResponseEntity.created()
返回201(HttpStatus.SC_CREATED)

@RequestMapping("/handle")
public ResponseEntity handle() {
    URI location = null;
    try {
    location = new URI("http://www.concretepage.com/");
    } catch (URISyntaxException e) {
    e.printStackTrace();
    }
    return ResponseEntity.created(location).build();
} 

ResponseEntity.accepted()
返回202(HttpStatus.SC_ACCEPTED)

@RequestMapping("/handle")
public ResponseEntity handle() {
     return ResponseEntity.accepted().body("Hello World!");
} 

ResponseEntity.noContent()
返回204(HttpStatus.SC_NO_CONTENT)

@RequestMapping("/handle")
public ResponseEntity handle() {
    return ResponseEntity.noContent().build();
}

ResponseEntity.badRequest()
返回400(HttpStatus.SC_BAD_REQUEST)

@RequestMapping("/handle")
public ResponseEntity handle() {
   return ResponseEntity.badRequest().body("Bad Request");
}

ResponseEntity.notFound()
返回404(HttpStatus.SC_NOT_FOUND)


@RequestMapping("/handle")
public ResponseEntity handle() {
    return ResponseEntity.notFound().build();
} 

常见的http状态码
100 客户端可以继续
101 指示服务器正根据 Upgrade 头切换协议
200请求正常成功
201指示请求成功并在服务器上创建了一个新资源
202指示已接受请求进行处理但处理尚未完成
203指示客户端呈现的元信息并不源自服务器
204指示请求成功但没有返回新信息
205指示代理应该 重置导致请求被发送的文档视图
206指示服务器已完成对资源的部分 GET 请求
300请求的资源对应于表示形式集合中的某种表示形式,每种表示形式都有自己的特定位置
301指示已经将资源永久地移动到了某个新位置,并且将来的引用应将新 URI 用于其请求
302指示已经将资源暂时地移动到了另一个位置,但将来的引用仍应使用原来的 URI 访问该资源。 保留此定义是为了向后兼容。SC_FOUND 现在是首选定义
303指示可在另一个 URI 之下找到该请求的响应
304指示条件 GET 操作发现资源可用但不可修改
305指示必须 通过 Location 字段给定的代理访问请求资源
307指示请求的资源暂时驻留在另一个 URI 之下。临时 URI 应该 通过响应中的 Location 字段提供
400指示客户端发送的请求在语法上不正确
401指示请求需要进行 HTTP 验证
402保留此代码以备将来使用
403指示服务器理解请求但拒绝完成它
404指示请求的资源不可用
405指示 Request-Line 中指定的方法不支持 Request-URI 标识的资源
406指示请求标识的资源只能生成响应实体,根据请求中发送的 accept 头,这些响应实体具有不可接受的内容特征
407指示客户端必须 首先通过代理验证其自身
408指示客户端没有在服务器准备等待的时间内生成请求
409指示由于与当前资源状态冲突请求无法完成
410指示资源在服务器上不再可用并且不知道转发地址。应该 认为此条件是永久性的
411指示在没有定义 Content-Length 的情况下无法处理请求
412指示在服务器上测试一个或多个请求头字段中给出的前提时,该前提被求值为 false
413指示因为请求实体大于服务器愿意或能够处理的实体,所以服务器拒绝处理请求
414指示因为 Request-URI 的长度大于服务器愿意解释的 Request-URI 长度,所以服务器拒绝为请求提供服务
415指示因为请求实体的格式不受请求方法的请求资源支持,所以服务器拒绝为请求提供服务
416指示服务器无法服务于请求的字节范围
417指示服务器无法服务于请求的字节范围
500指示 HTTP 服务器内存在错误使服务器无法完成请求
501指示 HTTP 服务器不支持完成请求所需的功能
502指示 HTTP 服务器在充当代理或网关时从它参考的服务器接收到一个无效响应
503指示 HTTP 服务器暂时过载,并且无法处理请求
504指示服务器在充当网关或代理时没有从上游服务器接收到及时的响应
505 指示服务器不支持或拒绝支持请求消息中使用的 HTTP 协议版本

你可能感兴趣的:(HTTP)