ResponseBody
ResponseBody는 HTTP 규격에 맞는 응답을 만들어주기 위한 Annotation
HTTP요청을 객체로 변환하거나, 객체를 응답으로 변환하는 HttpMessageConverter사용
HttpMessageConverter는 해당 Annotation이 붙은 대상을 responsebody에 직렬화 하는 방식으로 작동
Annotation을 추가하는 것으로 간단하게 처리할 수 있다는 장점
Http 규격 구성 요소 중 하나인 Header에 대해서 유연하게 설정을 할 수 없고
status도 메서드 밖에서 Annotation을 따로 설정해 주어야 한다
> @ResponseBody만 사용시에 별도의 뷰를 제공하지 않고 데이터만 전송하는 형식이기 때문
이러한 단점들을 해결해 주는
ResponseEntity
- Spring Framework에서 제공하는 클래스 HttpEntity 클래스
- HTTP요청 (Request), 응답(Response)에 해당하는 HttpHeader와 HttpBody 포함
- 응답으로 변환될 정보를 모두 담은 요소들을 객체로 만들어서 반환
HttpEntity 클래스를 상속받아 구현
ResponseEntity - 사용자의 HttpRequest에 대한 응답 데이터를 포함하는 클래스로 HttpStatus,HttpHeaders,HttpBody 포함
ResponseEntity의 구조를 보면 필드값에 status만 가지고있기 때문에
ResponseEntity에서 직접적으로 Status Code를 지정할 수 있다.
나머지 부분은 HttpEntity에 구현
https://devlog-wjdrbs96.tistory.com/182
https://tecoble.techcourse.co.kr/post/2021-05-10-response-entity/
'Spring' 카테고리의 다른 글
Spring) 스프링 프레임 워크 , IOC (0) | 2022.12.07 |
---|---|
Spring) Bean Validation (0) | 2022.12.04 |
Spring) HttpServletRequest, HttpServletResponse (0) | 2022.12.04 |
Spring) 의존성이란? (1) | 2022.12.02 |
Spring) Entity와 DTO ,VO (0) | 2022.12.02 |