HTTP 요청에 대한 응답처리 : ResponseEntity

TopOfTheHead·2025년 11월 11일

Spring Boot

목록 보기
20/25

ResponseEntity<Type> :
Type : HTTP Response Body( = ResponseEntity.body(input) )에 포함될 Data type

HttpEntity<T>확장클래스로서 HTTP Response를 다룰 때 사용하는 클래스
HTTP Status Code , Header , HTTP Response Body를 포함하여 임의 설정이 가능.

Controller Method의 반환값으로 ResponseEntity 객체를 설정 시 Spring이 자동으로 Jackson을 통해 JSON Conversion을 수행하여 HTTP Response로 반환
@Controller Class에서 반환하더라도 @ResponseBody를 따로 선언할 필요는 없다.

REST API에서 에러처리, Status Code , Custom Response를 쉽게 수행.
▶ 기존 HttpEntity<T>headerbody를 포함하면서 추가적으로 Http Status Code를 지정 가능

HttpEntity<T> :
Spring Framework에서 제공하는 HTTP Request , Http Response를 표현하는 클래스
RequestResponse에서 사용 가능한 Http MessageHttp Header , Http Body를 포함할 수 있음.
▶ 주로 Http Request Body를 포함 시 사용.

ResponseEntityResponse StatusStatic Method
Java Stream처럼 ResponseEntity를 각 method를 활용해 chain처럼 설정을 수행 후 마지막에 build()를 통해 최종설정된 ResponseEntity객체빌드
빌드ResponseEntity객체Controller에서 클라이언트로 반환

  • ResponseEntity.ok("Response Body내용") :
    ResponseEntityHTTP 200 OK Status Code와 함께 Response Body내용"문자열"을 반환.

  • ResponseEntity.noContent() :
    HTTP 204 No Content 설정.
    204 : Client의 HTTP Request를 처리했으나, HTTP Response할 데이터가 존재하지 않음.

  • ResponseEntity.badRequest() :
    HTTP 400 Bad Request 설정.

  • ResponseEnity.notFound() :
    HTTP 404 Not Found 설정.

  • ResponseEntity.internalServerError() :
    HTTP 500 Internal Server Error 설정.

  • ResponseEntity.status(HttpStatus객체.HTTP메서드) :
    ResponseEntityHTTP Status Code를 설정.
    HttpStatus.CREATED : 201

  • ResponseEntity.headers(HttpHeaders객체) :
    HttpHeaders 객체Custom한 후 추가하여 커스텀 헤더 추가 가능.

  • ResponseEntity.body(Response Body내용) :
    ResponseEntity에서 클라이언트에게 반환 시 Response Body에 들어갈 내용을 정의.

  • ResponseEntity.build() :
    최종설정ResponseEntity 객체를 생성.
    ResponseEntity.notFound().build() : HTTP 404 Not Found 설정된 ResponseEntity 생성.
profile
공부기록 블로그

0개의 댓글