在Spring Boot:定制URL匹配規(guī)則一文中我們展示了如何調(diào)整URL請求匹配到對應(yīng)的控制器方法的規(guī)則。類似得,也可以控制應(yīng)用程序?qū)o態(tài)文件(前提是被打包進(jìn)部署包)的處理。
假設(shè)我們需要通過URLhttp://localhost:8080/internal/application.properties
對外暴露當(dāng)前程序的配置。
@Overridepublic
void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/internal/**").
addResourceLocations("/classpath:/");
}
mvn spring-boot:run
啟動應(yīng)用程序http://localhost:8080/internal/application.properties
就得到下列的結(jié)果http://wiki.jikexueyuan.com/project/spring-boot-cookbook-zh/images/3.png" alt="通過配置項(xiàng)對外暴露程序的配置信息" />
通過addResourceHandlers(ResourceHandlerRegistry registry) 方法可以為應(yīng)用程序中位于classpath路徑下或文件系統(tǒng)下的靜態(tài)資源配置對應(yīng)的URL,供其他人通過瀏覽器訪問。在這個例子中,我們規(guī)定所有以“/internal”開頭的URL請求會在classpath:/目錄下查找信息。
PS:通過setCachePeriod(Interger cachePeriod)方法可以設(shè)置資源處理器的緩存周期——每隔cachePeriod秒就緩存一次。