2017-07-17 17 views
8

spring-boot-starter-webflux (Spring Boot v2.0.0.M2) đã được định cấu hình như trong một spring-boot-starter-web để phân phối nội dung tĩnh trong thư mục tĩnh trong tài nguyên. Nhưng nó không chuyển tiếp đến index.html. Trong Spring MVC, bạn có thể định cấu hình như sau:Spring Webflux, Cách chuyển tiếp đến index.html để phân phối nội dung tĩnh

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

Làm cách nào để thực hiện điều đó trong Spring Webflux?

Trả lời

7

Do nó trong 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); 
    } 
} 
Các vấn đề liên quan