ResponseEntity는 Spring Framework에서 제공하는 클래스로, HTTP 응답을 표현함.
ResponseEntity는 HTTP 응답의 상태 코드, 헤더, 본문 등을 포함하며, 이를 통해 세세한 HTTP 응답을 제어할 수 있음.
ResponseEntity 객체는 다음과 같은 방식으로 생성하고 사용할 수 있음:
ResponseEntity<String> responseEntity = new ResponseEntity<>("Hello, World!", HttpStatus.OK);
-> 위 코드는 "Hello, World!"라는 본문과 200 OK라는 상태 코드를 가진 ResponseEntity 객체를 생성.
이 ResponseEntity 객체를 컨트롤러의 메소드에서 반환하면,
Spring Framework가 이를 HTTP 응답으로 변환하여 클라이언트에게 전송.
또한, ResponseEntity의 빌더를 사용하여 ResponseEntity를 생성하고 설정할 수도 있음.
ResponseEntity<String> responseEntity = ResponseEntity.ok()
.header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN_VALUE)
.body("Hello, World!");
-> 위 코드는 ResponseEntity.ok() 메소드를 호출하여 ResponseEntity의 빌더를 생성하고,
이 빌더의 header() 메소드와 body() 메소드를 호출하여 "Content-Type" 헤더와 본문을 설정함.
마지막으로 body() 메소드는 설정된 ResponseEntity 객체를 반환.
ResponseEntity는 이 외에도 다양한 방식으로 사용될 수 있음.
예를 들어, ResponseEntity의 정적 메소드를 사용하여 특정 상태 코드를 가진 ResponseEntity를 생성할 수 있음
return ResponseEntity.notFound().build();
-> 404 Not Found 상태 코드를 가진 ResponseEntity 반환