@RequestParam
HttpServletRequest 객체와 같은 역할을 한다.
@RequestBody란?
클라이언트가 서버로 전송하는 Http 요청의 Body내용을 JavaObject로 변환시켜주는 어노테이션
@RequestBody와 @RequestParam의 차이
@RequestParam과 마찬가지로 요청 파라미터를 객체로 바인딩하기 위해 사용된다.
하지만
어떤 것을 바인딩하는 것에 대해 @RequestParam과 @RequestBody의 차이가 있다.
@RequestParam은 URL에 요청 파라미터를 바인딩하지만, @RequestBody는 Http Body에 있는 내용을 Java-Object로 반환한다.
@RequestParam
-> localhost:8080/requestParam?param=requestparam
-> 결과 : requestparam
@RequestBody
-> Http { param:"requestBody" }
| @RequestBody | @RequestParam |
|---|
| 객체 생성 | 가능 | 불가능 |
| 각 변수별로 데이터 저장 | 불가능 | 가능 |
url상에서 데이터를 전달하는 경우(form 태그 등) @RequestParam을 이용하고,
그 외의 경우 @RequstBody를 이용하자