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);
});
}
复制代码