@RequestBody
이 어노테이션이 붙은 파라미터에는 http요청의 본문(body)이 그대로 전달된다.
일반적인 GET/POST의 요청 파라미터라면 @RequestBody를 사용할 일이 없을 것이다.
-회고로 인해 얻은 궁극적인 정리 목표-
클라이언트에서 서버로 필요한 데이터를 요청하기 위해 JSON 데이터를 요청 본문에 담아서 서버로 보내면, 서버에서는 @RequestBody 어노테이션을 사용하여 HTTP 요청 본문에 담긴 값들을 자바객체로 변환시켜, 객체에 저장한다.
서버에서 클라이언트로 응답 데이터를 전송하기 위해 @ResponseBody 어노테이션을 사용하여 자바 객체를 HTTP 응답 본문의 객체로 변환하여 클라이언트로 전송한다.
@RequestBody
HttpRequest의 본문 requestBody의 내용을 자바 객체로 매핑
클라이언트에서 서버에 JSON 형식의 requestBody로 요청 데이터를 전송했을 때, Java에서는 해당 JSON 형식의 데이터를 받기 위해서 JSON -> Java Object로의 변환이 필요
@ResponseBody
자바 객체를 HttpResponse의 본문 responseBody의 내용으로 매핑
서버에서 클라이언트로 다시 응답 데이터 responseBody를 보낼 때도 Java Object에서 JSON 또는 XML 같은 형식으로의 변환
JSON 형식으로 데이터를 주고받는 이유 - API
API(Application Programming Interface, 응용 프로그래밍 인터페이스)
→ 애플리케이션을 서로 연결하여 서로 통신할 수 있다.
→ 데이터 기반 비즈니스를 운영하는 데 필수적이다.
예시
항공권을 예약해야 할때, API는 예약 가능한 항공권을 제공하고, 고객은 원하는 항공권을 선택 후 결제한다. API가 다시 결제한 내역을 항공사로 전달한다.
→ 이때, 전달되는 데이터 형식의 대표적인 예가 JSON이라고 할 수 있다.