ResponseEntity
스프링 프레임워크에서 HTTP 응답을 나타내는 클래스로, 클라이언트에게 응답을 보내거나 받을 때 사용된다.
해당 클래스를 활용함으로써 결과 데이터와 HTTP 상태 코드를 직접 제어할 수 있다.
ResponseEntity 구조

생성자를 보면 HttpStatus, Headers, Body를 기본적으로 포함하고 있다.
각각의 요소에 대해 알아보자
상태 코드 (Status Code)
- HTTP 요청에 대한 서버의 응답 결과를 나타내는 숫자로 된 코드
- 예를 들어, 200은 "OK", 404는 "Not Found", 500은 "Internal Server Error"
- 헤더는 클라이언트와 서버 간에 부가적인 정보를 전달하는 데 사용
- Content-Type: 응답 본문의 데이터 유형 (예: application/json)
Content-Length: 응답 본문의 길이
Cache-Control: 캐싱 정책을 지정
Location: 리소스의 URL (보통 3xx 상태 코드와 함께 사용)
본문 데이터 (Body Data)
- 클라이언트로 전달되는 정보로 실제 데이터
- 주로 JSON, XML, HTML 등의 형식으로
💡 상태 코드라는 것은 int형인데, 왜 HttpStatus 객체 자체가 사용되었을까?
HttpStatus는 열거형으로, HTTP 상태 코드와 해당 상태에 대한 설명을 포함하는 각 항목을 나타낸다. 이를 통해 코드의 가독성과 이해도를 향상시킬 수 있다.
ttpStatus 객체는 내부적으로 각 상태 코드의 숫자 값을 가지고 있으며, 이를 통해 ResponseEntity의 생성자에서 필요한 정수값을 전달한다.
따라서 사용자가 직접 숫자 값을 입력하는 대신, HttpStatus의 상수를 사용하여 명시적으로 해당 상태를 지정할 수 있다.

큰 도움이 되었습니다, 감사합니다.