2017년 6월 26일 월요일

Spring boot, using of external static resources

@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {

    protected final Logger log = getLogger(this.getClass());
    private static final String LOCATION_PATTERN = "file:///%s/%s/";

    @Value("${repository.location}")
    private String externalResource;

    @Override    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry
                .addResourceHandler("/ext/**")
                .addResourceLocations(String.format(LOCATION_PATTERN, externalResource, "ext"))
                .setCacheControl(CacheControl.maxAge(3L, TimeUnit.DAYS).cachePublic())
        ;        super.addResourceHandlers(registry);    }

}

1.

`ResourceHandler`는 pathPattern임을 기억하자.

`ResourceLocations`는 prefix `file:///`와, suffix `/`를 반드시 붙여서 사용해야 한다.

`CacheControl`은 적당히 사용하면 된다.

덧. `file:///c:\dev...` 이건 윈도우의 경우. 맥에서는 `file:/Users/Documents...` 뭐 이런 패턴.

댓글 없음:

댓글 쓰기