컨트롤러 메서드는 ModelAndView를 비롯한 몇 가지 리턴 타입을 가질 수 있으며, 아래와 같다
@RequestMapping 메서드의 리턴타입
리턴타입
|
설명
|
ModelAndView
|
뷰 정보 및 모델 정보를 담고 있는 ModelAndView객체
|
Model
|
뷰에 전달할 객체 정보를 담고 있는 Model을 리턴한다. 이때 뷰 이름은 요청URL로 부터 결정된다. (RequestToViewNameTranslator를 통해 뷰 결정)
|
Map
|
뷰에 전달할 객체 정보를 담고 있는 Map을 리턴한다. 이때 뷰 이름은 요청URL로 부터 결정된다. (RequestToViewNameTranslator를 통해 뷰 결정)
|
String
|
뷰 이름을 리턴한다
|
View 객체
|
View객체를 직접 리턴. 해당 view 객체를 이용해서 뷰를 생성한다
|
void
|
메서드가 ServletResponse나 HttpServletResponse타입의 파라미터를 갖는 경우 메서드가 직접 응답을 처리한다고 가정한다. 그렇지 않을 경우 요청 URL로 부터 결정된 뷰를 보여준다.(RequestToViewNameTranslatro를 통해 뷰 결정)
|
@ResponseBody어노테이션 적용
|
메서드에서 @ResponseBody 어노테이션이 적용된 경우, 리턴 객체를 HTTP응답으로 전송한다. HttpMessageConverter를 이용해서 응답 스트림으로 변환한다.
|
//todo
- contentNegotiation 을 통한 다양한 view제공 (REST서비스에서 XML VIew, JSON View, jsp view , etc..)
- Message converter이용가능에 대하여 학습하고 정리하기 ( client츨의 accept-header를 근거로 적절한 MessageConverter에 해당하는 view 매핑하여 변환)
reference: 웹개발자를 위한 Spring 3.0 프로그래밍 - 최범균 지음- 가메출판사
댓글 없음:
댓글 쓰기