Spring Webflux客户端

在上一篇文章中,我们介绍了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

请转到 此处
下载项目:

原文 

https://www.jdon.com/50546

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Spring Webflux客户端

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址