@RequestBody
POST, PUT 등 body를 읽어와야 하는경우 BufferedReader를 이용하여 받아와야 하지만,
스프링에서는 @RequestBody를 이용하여 받아올 수 있다.
이 애노테이션이 붙은 파라미터에는 HTTP 요청의 본문 body 부분이 그대로 전달된다.
AnnotationMethodHandlerAdapter에는 HttpMessageConverter 타입의 메시지 변환기message converter가 여러 개 등록되어 있다.
@RequestBody가 붙은 파라미터가 있으면 HTTP 요청의 미디어 타입과 파라미터의 타입을 먼저 확인한다.
(servlet-context.xml 에서 <annotation-drvien>
태그 내에 선언하는 <message-converter>
에서 확인).
메시지 변환기 중에서 해당 미디어 타입과 파라미터 타입을 처리할 수 있다면,
HTTP 요청의 본문 부분을 통째로 변환해서 지정된 메소드 파라미터로 전달해준다.
GET 방식은 @RequestBody로 받을 수 없다.
public void selectBody(@RequestBody BoardVO vo){
}
'Programming > Spring' 카테고리의 다른 글
[Spring] @ResponseBody 리턴시 Timestamp 깨짐 현상 (0) | 2015.01.13 |
---|---|
[Spring] @RequestParam (0) | 2015.01.13 |
[Spring] @PathVariable (0) | 2015.01.09 |
[Spring] @PathVariable 사용시 주의점 (0) | 2015.01.09 |
[Spring] Spring + MyBatis(iBatis) + MySQL(Oracle) 연동 (0) | 2015.01.09 |