STUDY/JSP&Spring
[JSP&Spring] @ResponseBody @RequestBody사용
비달사쑨
2019. 10. 18. 17:46
Spring에서 RESTful API구현 시, 주로 사용되는 @ResponseBody와 @RequestBody 어노테이션의 개념에 대해 알아보겠습니다.
@RequestBody
- HTTP 요청의 body내용을 자바 객체로 매핑하는 역할을 합니다.
@ResponseBody
- 자바 객체를 HTTP요청의 body 내용으로 매핑하는 역할을 합니다.
@RestController
public class LoginWebController
{
//HTTP요청의 내용을 Member객체에 매핑하기 위해 @RequestBody 어노테이션을 설정
@RequestMapping(value = "/member/login" method = RequestMethod.POST)
public MemberResultDto login(@RequestBody Member member) {
MemberResultDto memberResultDto memberService.login(member);
return memberResultDto;
}
}
위의 예제소스에서는 HTTP요청의 body안에 member 데이터를 파라미터로 받기 위해, @RequestBody를 사용하였습니다.
@ResponseBody를 사용하지 않은 이유는 @RestController를 사용하였기 때문입니다. @Controller와는 다르게 @RestController는 리턴값에 자동으로 @ResponseBody를 붙게되어 HTTP응답데이터(body)에 자바 객체가 매핑되어 전달됩니다.
(※ @Controller인 경우에는 @ResponseBody를 적어줘야 합니다.)
Reference