spring-boot-starter-webflux
(Spring Boot v2.0.0.M2) は、リソース内の static フォルダー内の静的コンテンツを提供するように既に構成されていますspring-boot-starter-web
。ただし、index.html には転送されません。Spring MVC では、次のように構成できます。
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("forward:/index.html");
}
Spring Webflux でこれを行うにはどうすればよいでしょうか?
ベストアンサー1
WebFilter で実行します:
@Component
public class CustomWebFilter implements WebFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
if (exchange.getRequest().getURI().getPath().equals("/")) {
return chain.filter(exchange.mutate().request(exchange.getRequest().mutate().path("/index.html").build()).build());
}
return chain.filter(exchange);
}
}