Spring Boot에서 @RestController 요청 처리 흐름 정리

JHLee·2025년 5월 24일

Springboot

목록 보기
5/6
post-thumbnail

✅ @RestController

@RestController@Controller@ResponseBody가 결합된 복합 어노테이션이다.
메서드의 반환 값을 HTTP 응답 본문으로 직접 반환한다.

JSON 또는 XML 형식의 데이터를 응답으로 제공하며, 주로 REST API 개발에 활용된다.


⚙️ 요청 처리 흐름

1️⃣ DispatcherServlet이 클라이언트의 요청을 받아 HandlerMapping에 전달하면, 해당 요청을 처리할 컨트롤러 메서드를 찾는다.

2️⃣ RequestMappingHandlerAdapter요청 처리 책임을 맡는 핵심 컴포넌트이다.
컨트롤러 메서드를 호출하기 전, ArgumentResolver를 통해 메서드의 파라미터를 처리한다.
이때 @RequestBody가 붙은 파라미터의 경우, 내부적으로 HttpMessageConverter가 동작하여 JSON 요청 본문을 Java 객체로 변환한다.

3️⃣ 컨트롤러는 비지니스 로직을 수행한 뒤 Java 객체를 반환하며, ReturnValueHandler가 이 반환값을 처리한다.
이때, @ResponseBody 또는 @RestController가 붙은 경우,HttpMessageConverter가 동작하여 해당 객체를 JSON 등의 형식으로 변환하여 전달한다.

4️⃣ RequestMappingHandlerAdapter는 응답 데이터를 DispatcherServlet에 전달한다.
마지막으로 DispatcherServlet은 이 데이터를 HTTP 응답 형태로 만들어 클라이언트에게 응답을 반환한다.

profile
개발자로 성장하기

0개의 댓글