Develop

ResponseEntity 기초와 간단한 사용법 본문

웹 개발/이론

ResponseEntity 기초와 간단한 사용법

개발 기록 2024. 5. 3. 14:33

Response Entity

: HttpEntity를 상속받아서 구현한 클래스

: HttpRequest에 대한 응답데이터를 포함한 클래스

 

HttpEntity 는 header(헤더)와 body(바디)를 가지고 있고

ResponseEntity는 status(상태)를 가지고 있다

 

즉, ResponseEntity는 HttpEntity를 상속받았으므로

HttpHeader(헤더), Httpbody(바디 = 전달정보), Httpstatus(상태) 를 모두 가지고 있다

 

사용시 3개를 모두 담고있어야 하는건 아니지만

status(상태)는 무조건 있어야한다.


 

ResponseEntity를 사용하는 이유

- Controller에서 주로 하던 객체return 방식은 Http 응답을 제어할 수 없기 때문에 ResponseEntity를 사용한다.

- Rest API로 만든다면 클라이언트와 서버가 통신할 때 필요한 정보를 제공해야하는데

ResponseEntity를 사용하면 전하고싶은 응답을 전달할 수 있기 때문이다 (상태코드, 응답헤더, 응답본문)


 

사용 형태

 

return new ResponseEntity(Httpstatus.Ok);

 

body없이 Ok라는 상태만 보낸것으로 Ok상태는 200을 뜻하며

주로 성공했을 때 보내는 상태이다.

 

 위의 코드는 new로 생성했지만

new 보다 bulider 패턴을 이용하면 더 유용하다고한다.

 

1. 유연하게 값 설정 가능

2. 가독성이 좋다

=> ResponseEntity의 생성자가 갖는 매개변수 순서를 외울 필요 없으므로

 

 

return ResponseEntity.ok("body Message");

 

ok메서드를 사용한 것으로 ( 상태가 ok이라는 뜻 즉 200)

body Message 라는 내용이 담긴 body를 상태와 같이 return 한다

 

 

if (bindingResult.hasErrors()) {
    ErrorResponse errorResponse = new ErrorResponse(ErrorCode.BAD_REQUEST, bindingResult.getFieldErrors());
    return ResponseEntity.badRequest().body(errorResponse);
}

 

 

유효성 검사시에도 에러가 난 경우에 오류라고 알려주면서 return이 가능하다

badRequest()는 실패할때 보내는 상태로 문제가 있다는 내용과 함께 리턴되므로 콘솔에서도 확인할 수 있다.

'웹 개발 > 이론' 카테고리의 다른 글

[이론] 답글 달기  (0) 2024.02.22