# Spring ResponseEntity ### 1. ResponseEntity >用法 ```java= @GetMapping("/hello") ResponseEntity<String> hello() { return new ResponseEntity<>("Hello World!", HttpStatus.OK); } //所以根据不同场景返回不同状态 @GetMapping("/age") ResponseEntity<String> age( @RequestParam("yearOfBirth") int yearOfBirth) { if (isInFuture(yearOfBirth)) { return new ResponseEntity<>( "Year of birth cannot be in the future", HttpStatus.BAD_REQUEST); } return new ResponseEntity<>( "Your age is " + calculateAge(yearOfBirth), HttpStatus.OK); } //可以设置http標頭 @GetMapping("/customHeader") ResponseEntity<String> customHeader() { HttpHeaders headers = new HttpHeaders(); headers.add("Custom-Header", "foo"); return new ResponseEntity<>( "Custom header set", headers, HttpStatus.OK); } //ResponseEntity提供了两个内嵌的构建器接口: //HeadersBuilder 和其子接口 BodyBuilder @GetMapping("/hello") ResponseEntity<String> hello() { return ResponseEntity.ok("Hello World!"); } //常用的http 回應碼 BodyBuilder accepted(); BodyBuilder badRequest(); BodyBuilder created(java.net.URI location); HeadersBuilder<?> noContent(); HeadersBuilder<?> notFound(); BodyBuilder ok(); //可以能使用BodyBuilder status(int status) 方法设置http状态 //ResponseEntity BodyBuilder.body(T body)设置http响应体 @GetMapping("/age") ResponseEntity<String> age(@RequestParam("yearOfBirth") int yearOfBirth) { if (isInFuture(yearOfBirth)) { return ResponseEntity.badRequest() .body("Year of birth cannot be in the future"); } return ResponseEntity.status(HttpStatus.OK) .body("Your age is " + calculateAge(yearOfBirth)); } //自定義標頭 @GetMapping("/customHeader") ResponseEntity<String> customHeader() { return ResponseEntity.ok() .header("Custom-Header", "foo") .body("Custom header set"); } ``` 資料來源: [使用spring ResponseEntity处理http响应](https://blog.csdn.net/neweastsun/article/details/81142870) ###### tags: `Spring boot` `ResponseEntity`