스프링에서 제공하는 방식
ResponseEntity
httpEntity<T> 클래스는
http 메시지를 만들어서 사용자에게 만들어 줄 수 있다.
메시지는 크게 2가지로 나뉜다.
1)요청 메시지
2) 응답 메시지
그 중 응답과 관련된 메시지와 관련된 클래스가 ResponseEntity<T>이다.
cf. ResponseBody 사용시
- 리턴해주는 데이터나 객체들을 데이터로 알아서 변경해서 보내준다.
- 단점은 응답 Header 설정이 어렵다. (하려면 HttpServletResponse 를 또 포함시켜야 한다.)
- 스프링에서는 바디와 헤더 설정을 한꺼번에 할 수 있는 ResponseEntity를 제공해준다.
-
컨트롤러에서 ResponseEntity가 리턴하는 값은 http 응답에 대한 정보를 반환한다.
* HttpEntity
- 스프링 프레임워크에서 제공하는 클래스로 HTTP 요청 또는 응답에 해당하는 HTTP Header와 HTTP Body를 포함하는 클래스이다.
* ResponseEntity
- HttpEntity를 상속하는 클래스로 HTTP 응답 데이터를 포함하는 클래스이다.
- 개발자가 직접 HTTP Header, Body, Status를 세팅해서 반환할 수 있다.
- Hedear : 값 세팅
- Body : 문자열
- Status : 응답 자체가 성공인지 실패인지
- 컨트롤러에서 ResponseEntity를 리턴하면 View에 대한 정보가 아니라 HTTP 정보를 반환한다.
* @ResponseBody와의 차이점
- @ResponseBody의 경우 Header값을 변경해야할 경우에는 직접 파라미터로 Response 객체를 받아와서 이 객체에서 Header를 변경해야 한다.
- BUT! ResponseEntity는 객체를 생성한 뒤 객체에서 Header 값을 변경시키면 된다.
'Programming > Framework' 카테고리의 다른 글
DAY 164. Spring MVC - 게시글 수정하기 (0) | 2022.01.31 |
---|---|
DAY 162. Spring MVC 게시글 상세조회 (0) | 2022.01.29 |
DAY 161. Spring MVC 게시판 게시글 작성 (0) | 2022.01.28 |
DAY 160. Spring MVC 게시판 페이징 (0) | 2022.01.26 |
DAY 159. Spring 회원 탈퇴 (0) | 2022.01.25 |