mvn archetype:generate -DinteractiveMode=false -DgroupId=cn.koali -DartifactId=springboot_demo -Dversion=1.0.0-SNAPSHOT
複製代碼
各個參數的含義參考官網 3. javascript
@Configuration
public class RouterFunctionConfiguration {
@Bean
public RouterFunction<ServerResponse> webFlux() {
return RouterFunctions.route(RequestPredicates.GET("/webFlux"), request -> {
Mono<String> str = Mono.just("Hello World").delayElement(Duration.ofMillis(10));
return ServerResponse.ok().body(str, String.class);
});
}
}
複製代碼
與Web MVC相似。咱們聲明咱們的路由類爲 @Configuration,而後初始化一個Bean。 在Web Flux請求的接口是RequestServer,響應的接口是ResponseServer。 其中RouterFunction提供了route,經過在route這個方法咱們設置RequestPredicates 的路由行爲,從而達到接受請求。html
//web mvc
@GetMapping("/webServlet")
public String webServlet(){
try {
TimeUnit.MILLISECONDS.sleep(10);
} catch (InterruptedException e) {
return "Error during thread sleep";
}
return "Hello World";
}
//web flux
@Bean
public RouterFunction<ServerResponse> webFlux() {
return RouterFunctions.route(RequestPredicates.GET("/webFlux"), request -> {
Mono<String> str = Mono.just("Hello World").delayElement(Duration.ofMillis(10));
return ServerResponse.ok().body(str, String.class);
});
}
複製代碼