Spring boot

스프링 부트의 간단한 요청과 응답 동작 방식

ryeonng 2024. 9. 27. 17:14

그림으로 요약한 요청과 응답의 흐름

  1. 클라이언트 측에서 /user로 GET 요청을 한다. 이 요청은 톰캣을 거쳐 스프링 부트 애플리케이션으로 전달된다.
  2. 이때, 스프링 부트의 디스패처 서블릿(DispatcherServlet)이 요청을 받는다. 디스패처 서블릿은 요청된 URL을 분석하고, 이를 처리할 수 있는 컨트롤러와 해당 메서드를 찾는다.
  3. 컨트롤러에서 비즈니스 로직이 필요한 경우, 비즈니스 계층(Service) 및 퍼시스턴스 계층(Repository)을 통해 데이터를 처리한다.
  4. 응답 과정에서 MIME 타입(예: JSON, HTML, XML 등)에 따라 다음과 같이 응답 방식이 달라진다.
  • JSON, XML 등 데이터 포맷으로 응답해야 하는 경우, 메시지 컨버터가 작동한다. 예를 들어, @RespponseBody가 붙은 메서드는 메시지 컨버터를 사용하여 자바 객체를 JSON 또는 XML로 변환한다.
  • HTML 등의 뷰 템플릿이 필요한 경우, 뷰 리졸버(View Resolver)가 작동하여, 템플릿 엔진(예: Thymeleaf, JSP)을 통해 HTML 문서를 생성하여 클라이언트에게 반환한다.