Fall in IT.

Spring @RequestBody 와 @ResponseBody 개념 본문

기타

Spring @RequestBody 와 @ResponseBody 개념

D.Y 2016. 5. 8. 22:16


Spring에서 RESTful API 구현시 주로 사용되는 @ResquestBody, @ResponseBody 어노테이션의 개념 대해 알아보겠습니다.



@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를 적어줘야 합니다. )




그 외 자주 사용되는 @RequestMapping 속성 

  • @Consumes : 수신 하고자하는 데이터 포맷을 정의한다. 
  • @Produces : 출력하고자 하는 데이터 포맷을 정의한다.



모두 즐거운 코딩하세요 ~





Comments