OneDev
[Spring] @ResponseBody 어노테이션 본문
@ResponseBody 어노테이션이란?
HTTP 통신 프로토콜의 body 부분에 직접 데이터(응답/response)를 반환할 때 사용하는 어노테이션.
데이터를 넘겨주는 방식은 크게 ①문자를 넘겨주는 방식과 ②객체를 넘겨주는 방식으로 나뉜다.
객체를 넘겨주는 경우 기본적으로 데이터를 json 방식으로 변환하여 리턴한다
- 문자 데이터의 경우 viewResolver가 동작한다
- 객체 데이터의 경우 HttpMessageConverter가 동작한다. HttpMessageConverter가 동작한 이후의 동작은 데이터의 형에 따라 나뉜다.
- 문자일 경우 : StringConverter 가 동작
- 객체일 경우 :jsonConerter가 기본적으로 동작
- 기본 문자처리 : StringHttpMessageConverter
- 기본 객체처리 : MappingJackson2HttpMessageConverter
※ 참고 : 클라이언트의 HTTP Accept 헤더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter 가 선택된다.
Comments