Json 형태로 객체 데이터 반환
return 값에 자동으로 ResponseBody가 붙어 👉 자바 객체가 매핑되어 전달
@RequestBody | @ResponseBody | 공통점 |
---|---|---|
HTTP 요청의 body 내용을 Java 객체로 변환할 때 사용 | Java 객체의 내용을 HTTP 요청의 body로 변환할 때 사용 | 1. Web Page와 Java가 통신할 때 객체를 변환하는 역할 2. 비동기 처리 방식이기 때문에 Server와 Client 통신 본문(body)에 데이터를 포함해야 된다. |
HTTP Status Code를 서버에서 클라이언트로 응답할 때, 가공해서 보낼 수 있다.
@PostMapping("/users")
public ResponseEntity<User> createUser(@RequestBody User user) {
User saveUser = service.save(user);
URI location = ServletUriComponentsBuilder.fromCurrentRequest() //사용자 요청 uri
.path("/{id}") // buildAndExpand를 통해 얻은 값이 들어온다
.buildAndExpand(saveUser.getId()) // {id}에 넣어줄 값
.toUri(); // URI 생성
return ResponseEntity.created(location).build(); //서버로부터 적절한 상태 코드를 보내주는 것이 좋은 api
}
public class RequestEntity<T> extends HttpEntity<T>
public class ResponseEntity<T> extends HttpEntity<T>
즉, HttpHeader와 body의 값들을 하나의 객체로 저장하는 것
Response 부분일 경우 ResponseEntity