본문 바로가기

개발/Spring

[Spring] @ResponseBody란

원래 그냥 리턴을 하면, 즉 @ResponseBody가 없다면 viewResolver한테 던져서 해당 뷰를 리턴해준다.

하지만 @ResponseBody가 있기 때문에 HTTP응답에 그대로 이 데이터를 넘기려고 한다.

여기서 문자면 그냥 문자를 넘겨주겠지만, 객체를 넘겨줘야 하기 때문에 JSON방식으로 데이터를 만들어서 HTTP응답에 반환을 한다.

 

@ResponseBody가 있을 때의 응답이다.

@ResponseBody가 있다면 HTTPMessageConverter가 동작을 한다.

만약 그냥 문자열을 반환해야 한다면 StringConverter가 동작하지만, 객체일 경우 JsonConverter가 동작한다.

JsonConverter은 객체를 JSON스타일로 바꿔서 반환해준다.