在上一篇文章中,我们介绍了Web响应服务器,这次我们将看到如何编写客户端。让我们开始创建一个新项目,将Webflux,Mongo Reactive和Lombok作为依赖项。
创建一个简单的POJO来从我们的Reactive服务器中检索信息。
@Document @AllArgsConstructor @ToString @NoArgsConstructor @Data <b>public</b> <b>class</b> Person { @Id <b>private</b> String uuid; <b>private</b> String nickname; <b>private</b> String email; }
Lombok是一个避免样板代码的好工具,了解更多信息请到 这里
接下来,我们将CommandLineRunner用于启动我们的工作流程。这CommandLineRunner是Spring Boot中的回调接口,当Spring Boot启动时会调用它并传入args调用run()内部方法 。
@SpringBootApplication <b>public</b> <b>class</b> PersonApplication { <b>public</b> <b>static</b> <b>void</b> main(String[] args) { SpringApplication.run(PersonApplication.<b>class</b>, args); } @Bean WebClient webClient() { <b>return</b> WebClient.create(<font>"http://localhost:8080/persons"</font><font>); } @Bean CommandLineRunner run(WebClient client){ <b>return</b> args -> { client.get().uri(</font><font>""</font><font>).retrieve() .bodyToFlux(Person.<b>class</b>) .subscribe(System.out::println); }; } } </font>
WebClient是定义为@Bean使用我们的响应式Web服务器执行非阻塞HTTP请求的Reactive客户端,默认情况下使用Netty。
不要忘记在我们的application.properties文件中使用以下规范在不同的端口运行此客户端:
server.port=8081
请转到 此处 下载项目: