Я пытался заставить Spring Cloud Gateway обслуживать статический HTML-контент из разных каталогов по разным путям, потому что он имеет несколько приложений. Благодаря сообществу stackoverflow в начале это было просто, я сделал несколько хороших конфигураций и т. д. и просто зарегистрировал RouterFunctions в контексте spring, столько, сколько мне нужно:
@Bean
RouterFunction<ServerResponse> staticResourceRouter(){
return RouterFunctions.resources("/an-application/**", new FileSystemResource("/something/blablastatic/"));
}
Это работает как шарм, и я мог бы заменить некоторые другие системы обслуживания статического контента, которые перенаправлял шлюз, они устарели.
Однако возникла проблема - все, что я смог найти в Интернете, дает точно такой же способ, как указано выше, который не использует какое-либо кэширование ресурсов на стороне клиента (заголовки управления кешем / Last-Modified и т. Д.). Я не очень хорошо разбираюсь в webflux, и я не уверен, как настроить это вручную (в коде, а не в свойствах весенней загрузки) настроенными функциями маршрутизатора, чтобы сервер отвечал 304, когда следует использовать кеш браузера. Буду признателен за помощь.