@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...` 뭐 이런 패턴.