Spring
[ Springboot ] ResponseEntity 란
구티맨
2020. 5. 25. 18:23
ResponseEntity 는 헤더와 바디, 상태 코드로 구성되어 있고 http 응답을 나타낼 때 사용 한다.
Http 응답을 편하게 구성하여 보낼 떄 사용 하는 클래스 이다.
ResponseEntity 는 HttpEntity( http 헤더, 바디 ) 를 상속 받았고, HttpStatus 상태 코드를 추가 하였다.
HttpEntity는 HTTP 요청, 응답을 나타내기 위한 entity로 헤더와 바디로 구성되어 있다.
return ResponseEntity.ok().body(userVO);
return ResponseEntity.badRequest().body(userVO);
return ResponseEntity.noContent().body(userVO);
class에서 함수를 이용해 상태코드, 헤더, 바디를 쉽게 생성 가능하다.
public static BodyBuilder badRequest() {
return status(HttpStatus.BAD_REQUEST);
}
public static BodyBuilder status(HttpStatus status) {
Assert.notNull(status, "HttpStatus must not be null");
return new DefaultBuilder(status);
}
public DefaultBuilder(Object statusCode) {
this.statusCode = statusCode;
}
@Override
public <T> ResponseEntity<T> body(@Nullable T body) {
return new ResponseEntity<>(body, this.headers, this.statusCode);
}
badRequest를 보면, 상태 코드를 저장한 builder를 리턴해줘서 body를 생성하며 ResponseEntity 를 생성한다.