2017-07-17 29 views
8

spring-boot-starter-webflux (Spring Boot v2.0.0.M2) jest już skonfigurowany tak, jak w przypadku spring-boot-starter-web do wyświetlania statycznej zawartości w folderze statycznym w zasobach. Ale nie przekazuje dalej do index.html. Wiosną MVC można skonfigurować tak:Spring Webflux, Jak przesłać do pliku index.html, aby wyświetlić zawartość statyczną

@Override 
public void addViewControllers(ViewControllerRegistry registry) { 
    registry.addViewController("/").setViewName("forward:/index.html"); 
} 

Jak to zrobić w Spring Webflux?

Odpowiedz

7

Zrób to w 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); 
    } 
}