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

TopOfTheHead·2025년 11월 11일

Spring Boot

목록 보기
20/26

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

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

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

  • ResponseEntity래핑하여 반환@ResponseStatus를 각 Controller에서 설정하지 않아도 된다.
    Controller Method의 반환값으로 ResponseEntity 객체를 설정 시 Spring이 자동으로 Jackson을 통해 JSON Conversion을 수행하여 HTTP Response로 반환
    @Controller Class에서 반환하더라도 @ResponseBody를 따로 선언할 필요는 없으며, 헤더application/json을 따로 설정할 필요가 없음.

    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.status(HttpStatus객체.HTTP메서드) :
    ResponseEntityHTTP Status Code를 설정.

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

  • ResponseEntity.created()
    응답 데이터HTTP 201 Created 설정

    성공여부를 표시하는 것으로, 데이터를 포함할 수 없음.
    데이터 반환ResponseEntity.status(HttpStatus.created).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.headers(HttpHeaders객체) :
    HttpHeaders 객체Custom한 후 추가하여 커스텀 헤더 추가 가능.

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

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

0개의 댓글