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

+ Recent posts