mvn archetype:generate -DinteractiveMode=false -DgroupId=cn.koali -DartifactId=springboot_demo -Dversion=1.0.0-SNAPSHOT 复制代码
各个参数的含义参考官网 3.
创建成功,会提示项目生成的地址。
4. 然后同理使用IDEA打开刚刚命令行生成的项目。 5. 接下来打开SpringBoot简单教程找到Build with Maven复制依赖等等即可。
@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 的路由行为,从而达到接受请求。
//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); }); } 复制代码