3.2配置自定义的路径映射

 我们想要通过http://localhost;8080/internal/application去暴露我们内部的application.properties文件. 我们应该如何去做,下面就来实现这个功能。

3.2.1代码实现

  1. 让我们在WebConfiguration中加入addResourceHandlers的方法。

 @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/internal/**")
.addResourceLocations("classpath:/");
}

 

    2.启动应用,访问http://localhost:8080/internal/application.properties,你将会看到如下信息。

3.2配置自定义的路径映射

3.2.2代码说明

  我们重写了addResourceHandlers(ResourceHandlerRegistry registry)方法,这是另外一个配置方法在WebMvcConfigurer中。这个方法可以让我们映射静态资源文件路径URLs和连接他们到系统的资源或应用路径。在这个例子中,我们通过/internal的URL路径来映射然后去寻找classpath:/路径在我们的应用中。(在生产环境中你可能不想要暴露我们的内部应用文件。)

  1. registry.addResourceandler(“/internal/**”)方法添加了资源处理者并注册静态资源和返回ResourceHandlerRegistration 给我们,这个可以进一步配置映射到我们应用中。通过使用PathMatcher可以将/internal/**的字符串路径匹配我们请求的URL路径。而PathMatcher默认是使用AntPathMatcher。我们可以使用更多的URL去匹配特殊的资源路径。
  2. addResourceLocations(“classpath:/”)方法是调用新创建的实例ResourceHandlerRegistration和实验室声明的访问路径需要被加载。需要是有效的文件系统和文件,这里可以进入多个路径。如果有多个本地路径被记录,需要检查哪个哪个路径会访问。

我们也可以配置缓存资源,通过setCachePeriod(Integer cachePeriod)的方法。