2016년 5월 9일 월요일

[spring] 컨트롤러 메서드의 리턴타입

컨트롤러 메서드는 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 프로그래밍 - 최범균 지음- 가메출판사

댓글 없음:

댓글 쓰기