OneDev

[Spring] @ResponseBody 어노테이션 본문

WEB/Spring

[Spring] @ResponseBody 어노테이션

one_dev 2023. 6. 11. 23:10

@ResponseBody 어노테이션이란?

HTTP 통신 프로토콜의 body 부분에 직접 데이터(응답/response)를 반환할 때 사용하는 어노테이션.

데이터를 넘겨주는 방식은 크게 ①문자를 넘겨주는 방식②객체를 넘겨주는 방식으로 나뉜다.

객체를 넘겨주는 경우 기본적으로 데이터를 json 방식으로 변환하여 리턴한다

  • 문자 데이터의 경우 viewResolver가 동작한다
  • 객체 데이터의 경우 HttpMessageConverter가 동작한다. HttpMessageConverter가 동작한 이후의 동작은 데이터의 형에 따라 나뉜다.
    • 문자일 경우 : StringConverter 가 동작
    • 객체일 경우 :jsonConerter가 기본적으로 동작
  • 기본 문자처리 : StringHttpMessageConverter
  • 기본 객체처리 : MappingJackson2HttpMessageConverter

템플렛 방식

 

API 작동방식

※ 참고 : 클라이언트의 HTTP Accept 헤더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter 가 선택된다.

 

 

Comments