본문 바로가기

Spring_SpringBoot/이론

RestController/Controller

@RestController는 JSP같은 뷰(View)를 별도로 만들지 않는 대신에 컨트롤러 메소드가 리턴한 데이터 자체를 클라이언트로 전달한다. 클라이언트에 전달되는 데이터는 대부분 문자열이거나 VO나 컬렉션 형태의 자바 객체인데, 자바 객체가 전달되는 경우에는 자동으로 JSON으로 변환하여 처리한다.

 

(1) 문자열을 리턴하는 경우

브라우저는 응답 프로토콜 보디에 세팅된 문자열을 그대로 출력한다.

 

(2) VO객체를 리턴하는 경우

VO로 리턴을 해도 JSON형태로 된다.

 

(3) 컬렉션을 리턴하는 경우

Controller의 메소드가 단순히 VO 객체 하나를 리턴하는 것이 아니라 여러 개의 VO 객체를 배열이나 java.util.List가튼 컬렉션에 저장하여 리턴하는 경우가 있다. @RestController는 이런 경우에도 JSON으로 변환하여 처리한다.