안녕하세요! 질문주신 내용이 http 통신을 하시는거라 가정하고 답변을 드리겠습니다. http 헤더중에 Content-Type 이란게 있는데요, client 가 server 로 http 문서를 어떤 형태로 작성했는지를 알려주는 헤더값입니다. Spring 에서는 이 Content-Type 헤더와 사용자가 Http Body 를 변환하고자 하는 class(VO)를 체크하여 변환이 가능할경우 변환해서 넘겨주도록 구현이 되어있습니다. 여기서 VO 로 변환할때 앞서 답변해주신 분이 언급해주신 java reflection 이나 jackson 라이브러리 등이 사용되게 됩니다. 이에 대한 자세한 구현 내용을 아시고 싶으시다면, Spring 에서 정의한 HttpMessageConverter 라는 인터페이스의 구현체들을 찾아보시면 됩니다. HttpMessageConverter 를 찾아보시면 아시겠지만 위에서 언급한 http body 를 VO 로 변환해주는것 뿐만 아니라 반대로 Object 를 http content-type 에 맞게 write 하는 로직도 있는데요 이는 반대로 Spring 이 client 가 되어 Target server 로 http 요청을 보낼때 쓰이게 됩니다. Spring 에서 제공하는 http 통신 모듈인 RestTemplate 이나 WebClient 에서 HttpMessageConverter 를 어떻게 사용하고 있는지도 같이 확인하시면 좀 더 재미있으시지 않을까 하여 추가적으로 설명드렸습니다. 작업하시는데 도움이 되셨길 바라며 즐거운 주말 보내시길 바랍니다.

다음 내용이 궁금하다면?

지금 간편 가입하고 다음 내용을 확인해 보세요!

또는

이미 회원이신가요?

2022년 11월 20일 오전 3:47

 • 

저장 5조회 2,048

댓글 0