👉 ResponseEntity란?
- 스프링 프레임워크의 웹 모듈에 포함되어 있는 클래스
- HTTP 응답을 표현하며, HTTP 상태 코드, 헤더 및 본문을 포함할 수 있음
- ResponseEntity는 제네릭 타입을 가지며, 는 응답 본문의 타입을 나타냄
- 응답 본문의 콘텐츠 유형에 따라 유연하게 HTTP 응답을 구성할 수 있음
👉 장점
- 정밀한 HTTP 상태 코드 제어
- 원하는 HTTP 상태 코드를 명시적으로 설정할 수 있음
- HTTP 헤더 설정
- 유연한 응답 본문 설정
👉 예시
@RestController
public class MyController {
@GetMapping("/greet")
public ResponseEntity<String> greet() {
HttpHeaders headers = new HttpHeaders();
headers.add("Custom-Header", "This is a custom header");
return ResponseEntity.ok()
.headers(headers)
.body("Hello, World!");
}
}
- ResponseEntity.ok()는 HTTP 200 상태 코드로 ResponseEntity를 생성하는 빌더를 반환
- 이후에 헤더와 본문을 추가하여 최종적인 ResponseEntity 객체를 반환