웹 브라우저에서의 URL 요청은 스프링부트의 내장 톰캣 서버를 거쳐 Controller에 전달된다.
Controller는 컨트롤러 클래스 내에서 해당 URI가 매핑된 메서드를 찾아 실행한다.
컨트롤러 클래스 내의 메서드 반환값에 따라 다음 동작으로 나뉘어진다.
정적 페이지 방식 - 컨트롤러 접근 없이 바로 페이지를 렌더링해준다.
MVC 방식 - 반환값이 문자일 경우 ViewResolver가 해당 화면을 찾아서 렌더링해준다.
API 방식 - 메서드에 @ResponseBody 어노테이션을 추가하여 뷰 리졸버를 사용하지 않고 HttpMessageConverter를 사용하겠음을 명시하고, HTTP의 Body에 문자 내용을 직접 반환한다. (!=Html body tag)
참고자료: inflearn 강의 (스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술)