스프링에서 비동기 처리를 하는 경우 @RequestBody, @ResponseBody를 사용한다.
이러한 비동기 통신을 하기 위해서는 클라이언트에서 서버로 요청 메시지를 보내거나, 서버에서 클라이언트로 응답을 보낼 때에 본문(Body)에 데이터를 담아서 보내야 한다. 클라이언트에서 서버로 통신하는 메시지를 요청 이라고 하고, 반대로 서버에서 클라이언트로 통신하는 메시지를 응답 이라고 한다.
비동기 통신을 할 때 예를들어 JSON으로 요청한 파라미터를 JAVA에서 받으려면 JAVA 객체로 변환이 필요하고, 반대로 응답의 경우에도 JAVA 객체를 JSON으로 변환이 필요한데, 이러한 역학을 해주는 것이 바로 ResponseBody와 RequestBody이다.
@RequestBody는 클라이언트에서 서버로 보내온 요청 본문에 담긴 메시지들(JSON, XML 등)을 HttpMessageConverter를 통해 Java 객체로 변환 해주는 기능을 제공한다.
@ResponseBody는 서버에서 클라이언트로 응답 데이터를 전송하기 위해서 사용된다.
참조
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1