image.png

이 사진이 맞을까 싶었다

hello-static.html은 .html을 명시하고 있음으로 스프링 부트에서 컨트롤러를 찾기보다는 바로 정적 컨텐츠 중에 있는지 검색하지 않을까?

하지만 아니다. 사진 속 매커니즘이 정확히 맞다.

hello-static.html처럼 주소창에 .html 확장자가 명시되어 있더라도, 스프링 부트는 언제나 컨트롤러를 먼저 확인한다.

이런식으로 되어있을수도 있기 때문

@Controller
public class HelloController {
    
    // 주소창에 .html이 붙어있더라도 컨트롤러가 가로챌 수 있음
    @GetMapping("/hello-static.html")
    public String helloStatic(Model model) {
        return "dynamic-page"; 
    }
}