Java 如何使用webflux提供静态资源,但支持缓存

Java 如何使用webflux提供静态资源,但支持缓存,java,spring-cloud,spring-webflux,spring-cloud-gateway,Java,Spring Cloud,Spring Webflux,Spring Cloud Gateway,我一直在尝试强制SpringCloudGateway提供来自不同路径下不同目录的静态html内容,因为它有多个应用程序。多亏了stackoverflow社区,一开始它很简单,我做了一些很好的配置等,并简单地在spring上下文中注册了RouterFunction,我需要多少就注册多少: @Bean RouterFunction<ServerResponse> staticResourceRouter(){ return RouterFunctions.resources("/

我一直在尝试强制SpringCloudGateway提供来自不同路径下不同目录的静态html内容,因为它有多个应用程序。多亏了stackoverflow社区,一开始它很简单,我做了一些很好的配置等,并简单地在spring上下文中注册了RouterFunction,我需要多少就注册多少:

@Bean
RouterFunction<ServerResponse> staticResourceRouter(){
    return RouterFunctions.resources("/an-application/**", new FileSystemResource("/something/blablastatic/"));
}
@Bean
RouterFunction staticResourceRouter(){
返回RouterFunctions.resources(“/an application/**”,new FileSystemResource(“/something/blablablastatic/”);
}
它的工作方式很有魅力,我可以替换网关重定向的其他静态内容服务系统,它们已经过时了

然而,问题出现了——我在互联网上找到的所有东西都与上述方式完全相同,它不使用任何客户端资源缓存(缓存控制头/上次修改等)。我对webflux不是很精通,我不知道如何手动(在代码中,而不是在spring引导属性中)配置路由器功能来配置它,以便服务器在应该使用浏览器缓存时响应304。如果能得到一些帮助,我将不胜感激

的目的是轻量级,让您能够更好地控制发生的事情。一个普通的WebFlux应用程序可以配置,但我想在这种情况下,这可能不是SpringCloudGateway的首选方式


我认为这个功能不受支持,这可能是一个错误(如果还没有的话)。请注意,此功能可能超出Spring Cloud Gateway的范围,因为通常情况下,资源解析/转换需要访问本地文件系统以及服务于该资源的应用程序的本地知识,这不利于代理这些资源请求。

感谢您的澄清,我想我只要用这个实现创建我自己的HandlerFunction,并可能为spring项目执行一个pull请求:)