WebFlux 静态资源处理教程

关于 WebFlux 的教程方面的内容我已经持续写过很多内容了。包括前面的这篇《WebFlux 整合 thymeleaf 教程》文章,对静态资源的处理,提到的都非常的少。今天我抽个时间专门把 WebFlux 对静态资源的映射来写一写!

所谓的静态资源,主要就是指 css、js、图片等这类文件。我不需要每个都给你配置一个路由,直接给你一个规则,src/main/resources/public 目录下的全是静态文件,访问这个目录的内容,直接映射一下。

这个想法很好,WebFlux 中也提供了类似的功能。默认就会进行静态资源映射。前提是你的静态资源必须放在 src/main/resources/public 目录下。

WebFlux 处理静态资源

如果你新建了一个目录,比如,src/main/resources/static。那对不起,WebFlux 将无法进行自动映射。

这个时候,我们就有两种做法来进行改变映射的路径。

第一种通过配置文件的形式,指定 spring.resources.static-locations 和 spring.webflux.static-path-pattern 两个属性值即可。这个配置非常简单,看属性名称就知道如何配置了。我就不细说了,我重点说一下第二种方案。

第二种办法就是,通过 RouterFunctions.resources 来指定和映射静态资源。

RouterFunctions.resources

现在假设,我们的静态资源放置在 src/main/resources/statica 目录下。这是一个自定义的目录 statica,我专门加了一个 a,不是写错了,故意的。

然后,我们通过 RouterFunctions.resources 就可以这样来做。

@Configuration
public class StaticRoute {
    @Bean
    RouterFunction<ServerResponse> staticResourceRouter(){
        return RouterFunctions.resources("/statica/**", 
                new ClassPathResource("statica/"));
    }
}

这样,重启项目就可以使用指定的目录存放静态资源了。

以上,如果你还有疑问,欢迎关注我的微信公众号,和我一起探讨 WebFlux 的奥秘。

WebFlux 静态资源处理教程

: » WebFlux 静态资源处理教程

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/252038.html

(0)
上一篇 2022年5月3日
下一篇 2022年5月3日

相关推荐

发表回复

登录后才能评论