/hello-string 라고 url 호출되면 해당 메서드가 실행되는데 @ResponseBody라는 것을 볼 수 있다. 이것은 말 그대로 http 프로토콜에서 body부분에 return 값을 넘겨주겠다 라는 의미이다.
return에는 문자열값을 넘겨줬으므로 문자열을 넘겨준다.
responsebody에 문자열이 넘어온 것을 확인 할 수 있다. 하지만 이것은 잘 사용하지 않는다.
이번에는 객체를 넘겨줄 것이다. Hello라는 객체를 선언하고 name을 set해준다. 그리고 객체를 리턴하게 되면 다음과 같다.
JSON형태로 넘어오게 된다. set한 data만 객체로 넘어오는 것 같다.
ResponseBody를 사용하게 되면 viewResolver(템플릿에서 찾아서 변환 후 넘겨줌)이 아니라 HttpMessageConverter가 동작하게 된다.
기본 문자는 String
객체는 객체를 Json으로 바꾸는 MpaaingJackson~~으로 바뀐다.
클라이언트의 HTTP Accept 해더에서 원하는 데이터 포맷을 지정하는데 만약 XML을 받겠다 하게 되면 XML라이브러리만 다운받으면 컨버터가 알아서 변환해서 넘겨준다.