Http( HyperText Transfer Protocol)
웹 상에서 정보를 주고받는 프로토콜의 한 종류.
클라이언트가 서버에 보내는 메시지를 요청(Request), 서버가 클라이언트에 보내는 메시지를 응답(Reponse)으로 부른다.
메시지는 Request line, Header, Body로 구성되어 있으며, 이 중 Body에 데이터를 실어 전송.
REST방식의 통신에선 JSON, XML 등의 형식의 데이터를 사용.
@RequestBody
클라이언트로부터 받은 JSON, XML등의 형식을 Java Object로 변환하기 위한 어노테이션
예제
@RestController
public class LoginController{
@RequestMapping("/login")
public LoginVO test(@RequestBody User user){
LoginVO loginVo = userService.login(user);
return loginVo;
}
}
'/login'로 들어온 요청의 JSON(XML)데이터를 Spring이 관리하는 MessageConverter중 하나인 MappingJackson2HttpMessageConverter 통해 User라는 Java Object로 전환.
@ResponseBody
클라이언트로 보내기 위해 Java Object를 JSON, XML등으로 변환하기 위한 어노테이션
예제
@ResponseBody
@RequestMapping(value = "/test")
public LoginVO test() throws Exception {
LoginVO loginVO = new LoginVO();
loginVO.setId("admin");
return loginVO;
}
return되는 loginVO를 JSON(XML) 형식으로 매핑.
이 또한 Spring의 MessageConverter을 통해 자동으로 진행됨.
정리
클라이언트 → 서버 : @RequestBody
서버 → 클라이언트 : @ResponseBody
'Programming > Spring' 카테고리의 다른 글
[Spring] Spring, MySQL 연동 (1) | 2024.01.09 |
---|---|
[Mybatis] Mapper와 DAO의 차이 (0) | 2023.05.16 |