Spring Boot에서 @RestController의 동작 과정과 HttpMessageConverter 역할
1. @RestController란?`@Controller` + `@ResponseBody`를 결합한 어노테이션View가 아닌 HTTP 응답 본문으로 객체를 직접 반환주로 RESTful API, JSON 응답에 사용 내부 동작 과정HTTP 요청이 들어오면, 내부적으로는 다음과 같은 흐름으로 처리된다.클라이언트 → `DispatcherServlet``HandlerMapping`: 요청 URI에 맞는 Controller 탐색`HandlerAdapter`: 실행 준비 및 핸들러 호출`ArgumentResolver`: 요청 파라미터 처리@RequestBody, @RequestParam, @ModelAttribute 등을 보고 요청 데이터를 Java 객체로 변환@RequestBody, HttpEntity인 경우 ..
Spring Boot - @Controller와 @RestController (feat. Spring MVC 핵심 구조)
📌 IntroSpring에서는 웹 요청을 처리하기 위해 @Controller, @RestController와 같은 어노테이션을 사용한다.이번 글에서는 이 두 어노테이션의 차이를 이해하기 위해 Spring MVC의 핵심 구조를 먼저 살펴보고, 그 위에서 각 어노테이션의 처리 흐름과 용도를 비교해보자. 1. Spring MVC 구조의 핵심: DispatcherServletSpring MVC는 다음과 같은 프론트 컨트롤러 패턴(Front Controller Pattern)을 따른다.더보기여기서 프론트 컨트롤러 패턴은 사용자의 모든 요청을 한 곳(중앙 컨트롤러)에서 먼저 받아서, 이후 어떤 로직(컨트롤러, 서비스 등)으로 넘길지를 결정하는 방식을 의미한다.이 패턴에서 모든 요청은 중앙 진입점인 `Dispatc..