Spring
[Spring] @RequestBody / @ResponseBody 차이
natrue
2021. 5. 28. 15:39
728x90
HTTP : 데이터를 주고받기 위한 프로토콜
HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다.
HTTP Body 안엔 XML 또는 JSON이 들어간다.
@RequestBody : HTTP Body안에 JSON을 VO에 맵핑하는 스프링 어노테이션.
@RequestBody 어노테이션을 이용하면 HTTP 요청 Body를 자바 객체로 전달받을 수 있다.
Ajax에서 파라미터를 컨트롤러에 보내면 컨트롤러에선 @RequestBody를 사용하여 파라미터를 받는다.
@RequestMapping(value = "/requestBodyTest.do")
public String requestBodyTest(@RequestBody UserVO vo) throws Exception {
return "test/login";
}
@ResponseBody : VO 객체를 JSON으로 바꿔 HTTP Body안에 담는 스프링 어노테이션.
요청한 형태에 맞춰서 메시지 변환기를 통해 결과 값을 반환한다.
@ResponseBody을 이용하면 자바 객체를 HTTP 응답 body로 전송할 수 있다.
@ResponseBody
@RequestMapping(value = "/responseBodyTest.do")
public UserVO responseBodyTest() throws Exception {
UserVO vo = new UserVO();
vo.setId("테스트");
return vo;
}
요청 : requestBody
응답 : responseBody