본문 바로가기
스프링

@ResponseBody

by 리포터12 2022. 12. 19.
728x90

@ResponseBody 를 사용하게 되면,

뷰 리졸버(View Resolver)를 사용하지 않는다.

 

그 대신, HTTP 의 Body 부분에 내용을 직접 반환한다.

 

반환값이 '문자'일 경우,

문자열이 그대로 body부에 들어간다.

 

반환값이 '객체'일 경우,

객체가 JSON 으로 가공되어 변환된다.

 

@ResponseBody 사용 원리

1. 클라이언트(웹 브라우저)에서 요청이 들어감.

2. 요청 내용이 내장 톰캣 서버를 거쳐 컨트롤러로 들어감.

3. 요청과 매핑된 메서드가 실행됨.

4. 메서드에 @ResponseBody 처리가 돼 있다면,

리턴된 값은 HttpMessageConverter 로 넘어가 가공 처리됨. 

 문자열 - StringHttpMessageConverter

 객체 - MappingJackson2HttpMessageConverter

5. 가공된 값이 응답으로 리턴 됨.

 

=> @ResponseBody 를 달아놓고 객체를 반환한다?

=> JSON 으로 반환하겠다.

728x90

'스프링' 카테고리의 다른 글

Bean 등록하기  (0) 2022.12.19
컴포넌트 스캔 & DI(Dependency Injection)  (0) 2022.12.19
[Spring] JPA Auditing  (0) 2022.12.18
[Spring] 인증과 인가  (0) 2022.12.17
애노테이션 몇 개  (0) 2022.12.16

댓글