본문 바로가기
  • 시 쓰는 개발자
Spring

RequestBody, ResponseBody

by poetDeveloper 2024. 3. 8.

@RequestBody , @ResponseBody

클라이언트가 서버로 요청을 보내는 경우 RequestBody를, 서버가 클라이언트로 응답을 보낼 때는 ResponseBody를 사용한다. 이때 객체를 반환시 자동으로 JSON변환 되어 반환된다.

 

클라이언트 → 서버 (RequestBody)

@RequestBody을 써서 요청 데이터를 서버로 보내면, HTTP 바디 부분에 있는 내용들을 java객체로 변환시켜서 객체로 저장한다.

 

서버 → 클라이언트 (ResponseBody)

@ResponseBody을 써서 응답 데이터를 클라이언트로 보내면, 데이터를 객체로 변환하여 HTTP 바디 부분에 넣으면서 클라이언트로 전송한다. 

HttpMessageConverter

이렇게 뷰가 아니라 객체를 반환하기 때문에 viewResolver 대신에 HttpMessageConverter 가 동작한다.

  • 기본 문자처리: StringHttpMessageConverter
  • 기본 객체처리: MappingJackson2HttpMessageConverter

스프링이 어떤 정보가 반환되는지 파악하여 알맞은 HttpMessageConverter를 선택하여 처리한다.

정리

  • 클라이언트 ↔ 서버 사이에서 HTTP 요청 또는 응답을 보낼 때, body부분에 문자 내용을 "직접 반환"할 때 사용한다.
  • 즉, 객체를 직접 http 바디 부분에 반환하고 싶을 때 사용한다.
  • 이때 객체는 자동으로 JSON으로 변환된다.

'Spring' 카테고리의 다른 글

annotation 정리  (0) 2024.03.11
Controller vs RestController  (0) 2024.03.09
Bean에 대하여  (0) 2024.03.08
Portable Service Abstraction  (2) 2024.03.04
Aspect Oriented Programming  (0) 2024.03.04