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