T_era

HTTPMessageConverter 본문

Programing/Spring

HTTPMessageConverter

블스뜸 2025. 5. 7. 13:14

HttpMessageConverter는 Spring Framework에서 HTTP 요청과 응답을 변환하는 인터페이스이다. 클라이언트와 서버 간 데이터 교환 시, 요청 데이터를 자바 객체로 변환하거나 자바 객체를 응답 본문으로 변환하는 역할을 담당한다.

MappingJackson2HttpMessageConverter

MappingJackson2HttpMessageConverter는 JSON 데이터 처리를 위한 대표적인 HttpMessageConverter 구현체이다.

HttpMessageConverter의 역할

  • 데이터를 Object로 변환한다. 대표적인 예시로 JSON을 자바 객체로 변환하는 작업을 수행한다.

@RequestBody

@RequestBody 어노테이션은 요청 데이터와 Request Header를 참고하여 데이터를 Object로 변환하는 데 사용된다.

동작 방식:

HTTP Request Body (JSON Data) → HttpMessageConverter (Jackson) → Object

이 과정에서 Request Header의 Content-Type이 application/json으로 설정되어 있어야 JSON 처리를 담당하는 MappingJackson2HttpMessageConverter가 동작한다.

@ResponseBody

@ResponseBody 어노테이션은 응답 데이터를 Accept Header를 참고하여 원하는 데이터 형식으로 변환하는 데 사용된다.

동작 방식:

Object → HttpMessageConverter (Jackson) → HTTP Response Body (JSON Data)

이 과정에서 Request Header의 Accept가 application/json으로 설정되어 있으면 JSON 형식으로 응답하기 위해 MappingJackson2HttpMessageConverter가 사용된다.