-
HttpMessageConverterSpring 2023. 10. 5. 23:23
HttpMessageConverter란 ?
스프링 프레임워크에서 제공하는 인터페이스이며, SpringMVC의 일부이다.
HTTP 요청 본문을 객체로 변경하거나, 객체를 HTTP 응답 본문으로 변경한다.
hello라는 GET 요청이 들어오면 "hello"라는 문자열을 반환하는 컨트롤러가 있다.
@RestController public class HelloController { @GetMapping("/hello") public String hello(){ return "hello"; } }
위의 RestController는 데이터를 반환하는 컨트롤러이다. 사실 이 컨트롤러에서는 반환 타입의 String 앞에 @ResponseBody 어노테이션이 생략되어 있는 것이다. RestController는 뷰를 반환하는 컨트롤러가 아니기 때문에 생략이 가능한 것이다.
하지만 RestControler가 아닌 일반 Controller는 응답 본문을 반환하는 게 아닌 뷰를 반환하는 컨트롤러이기 때문에 뷰를 반환하는 것이 아닌 응답 본문을 반환해야한다면 @ResponseBody 어노테이션을 생략할 수 없다.
@Controller public class HelloController{ @GetMapping("/hello") public @ResponseBody String hello(){ return "hello"; } }
HttpMessageConverter는 이러한 역할을 처리하여 객체를 적절한 형식으로 변환하고 HTTP 요청 및 응답 본문에 적용한다. 따라서 컨트롤러가 데이터를 반환할 때 클라이언트와의 데이터 교환을 원활하게 지원한다.
'Spring' 카테고리의 다른 글
JDBC API, JDBC Template (0) 2024.01.10 @ModelAttribute를 사용하여 직렬화 (0) 2023.11.29 Converter, Formatter (0) 2023.08.29 IoC 컨테이너(Application Context)와 빈 (0) 2023.08.22 로그 (Log) (0) 2023.04.03