본문 바로가기

강의/호돌맨의 요절복통 개발쇼

Springboot의 정적리소스 접근경로

반응형

호돌맨 강의를 들으며 SpringRestDocs를 적용하다가, 여러 문제? 겪었는데, Spring Rest Docs가 적용된 html 파일을 접근 못하는 상황이 발생했다.

 

분면 resources - static - docs 경로에 위치하고, localhost:8080/docs/index.html 을 주소창에 쳤지만, white Label 에러페이지와 함께, console 창에는 No Mapping for GET 'docs/index.html' 로그가 찍히고 있었다.

 

왜지?... 기존 Spring MVC에서는 자원들에 대한 경로를 명시해주는 부분이 있던것이 기억나긴 하는데.. Springboot는 src-main-resources-static이 기본경로인것으로 알고있었는데... 

 

혹시 몰라 찾아보니 역시 맞았다. 

 

Servlet Context 또는 classpath 하위의 
/static
/public
/resources
/META-INF/resources

위의 경로에 위치 할때 자동반환 이었으나, 나의 경우엔 계속 찾지 못했다.

index.html을 위치시켰던 경로다

 

어쩔 수 없이, WebConfig를 작성해서 명시적으로 지정해주었더니 해결이 되었다.

package com.example.hodolclone.config;


@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
    @Override    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
        super.addResourceHandlers(registry);
    }
}

application.yml이나 다른 곳의 설정을 건드린 기억은 없는데... 뭐가 문제였을까?... 

무엇보다 호돌맨도 바로 됬었는데.. 나중에 좀더 알아보자.

refs

https://creampuffy.tistory.com/119

 

스프링부트가 정적 리소스 제공하는 과정

학습 출처 https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.developing-web-applications.spring-mvc.static-content Spring Boot Features Graceful shutdown is suppor..

creampuffy.tistory.com

 

반응형