前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot:定制static path mappings

Spring Boot:定制static path mappings

作者头像
阿杜
发布2018-08-06 14:15:21
2940
发布2018-08-06 14:15:21
举报
文章被收录于专栏:阿杜的世界阿杜的世界

Spring Boot:定制URL匹配规则一文中我们展示了如何调整URL请求匹配到对应的控制器方法的规则。类似得,也可以控制应用程序对静态文件(前提是被打包进部署包)的处理。

假设我们需要通过URLhttp://localhost:8080/internal/application.properties对外暴露当前程序的配置。

How Do

  • 在WebConfiguration类中添加相应的配置,代码如下:
代码语言:javascript
复制
@Overridepublic 
void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/internal/**").
            addResourceLocations("classpath:/");
}
  • 通过mvn spring-boot:run启动应用程序
  • 通过postman访问http://localhost:8080/internal/application.properties就得到下列的结果

通过配置项对外暴露程序的配置信息

分析

通过*addResourceHandlers(ResourceHandlerRegistry registry) *方法可以为应用程序中位于classpath路径下或文件系统下的静态资源配置对应的URL,供其他人通过浏览器访问。在这个例子中,我们规定所有以“/internal”开头的URL请求会在classpath:/目录下查找信息。

  • registry.addResourceHandler("/internal/")方法添加一个资源处理器,用于注册程序中的静态资源,该函数返回一个ResourceHandlerRegistration对象,这个对象可以进一步配置。/internal/字符串是一个路径模式串,PathMatcher接口用它匹配对应的URL请求,这里默认使用AntPathMatcher进行匹配。
  • 由上个方法返回的ResourceHandlerRegistration实例调用addResourceLocations("/classpath:/")方法来规定从哪个目录下加载资源文件。这个目录路径或者是有效的文件系统路径,或者是classpath路径。

PS:通过setCachePeriod(Interger cachePeriod)方法可以设置资源处理器的缓存周期——每隔cachePeriod秒就缓存一次。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015.12.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • How Do
  • 分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档