Spring Webflux客户端

栏目: Java · 发布时间: 7年前

内容简介:在上一篇文章中,我们介绍了Web响应服务器,这次我们将看到如何编写客户端。让我们开始创建一个新项目,将Webflux,Mongo Reactive和Lombok作为依赖项。创建一个简单的POJO来从我们的Reactive服务器中检索信息。Lombok是一个避免样板代码的好工具,了解更多信息请到

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

请转到 此处 下载项目:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人工智能产品经理——AI时代PM修炼手册

人工智能产品经理——AI时代PM修炼手册

张竞宇 / 电子工业出版社 / 2018-6 / 59

随着人工智能热潮的兴起,企业对人工智能领域产品经理的人才需求也开始井喷,人工智能产品经理成为顺应时代潮流的重要人力资源。实际上,人工智能确实给现有的产品和服务带来了全方位的升级,这也给产品经理从业人员提出了更高的要求,是关注人工智能产品的产品经理们面临的一次关键转型考验。 《人工智能产品经理——AI时代PM修炼手册》从知识体系、能力模型、沟通技巧等方面帮助大家系统地梳理了人工智能产品经理所必......一起来看看 《人工智能产品经理——AI时代PM修炼手册》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具