资讯专栏INFORMATION COLUMN

Spring Boot 参考指南(使用WebClient调用REST服务)

null1145 / 2338人阅读

摘要:为所有实例进行应用程序级的附加定制,你可以声明并在注入点局部的更改。最后,你可以回到原来的并使用,在这种情况下,不应用自动配置或。上一篇使用调用服务下一篇验证发送电子邮件

34. 使用WebClient调用REST服务

如果你的classpath上有Spring WebFlux,那么你还可以选择使用WebClient来调用远程REST服务,与RestTemplate相比,这个客户端具有更强的功能性,并且完全具有响应性。你可以使用builder,WebClient.create()创建自己的客户端实例,请参阅有关WebClient的部分。

Spring Boot为你创建并预先配置这样的构建器,例如,客户端HTTP编解码器的配置方式与服务器编解码器的配置方式相同(请参阅WebFlux HTTP编解码器自动配置)。

下面的代码展示了一个典型的例子:

@Service
public class MyService {

    private final WebClient webClient;

    public MyService(WebClient.Builder webClientBuilder) {
        this.webClient = webClientBuilder.baseUrl("http://example.org").build();
    }

    public Mono
someRestCall(String name) { return this.webClient.get().url("/{name}/details", name) .retrieve().bodyToMono(Details.class); } }
34.1 WebClient定制

WebClient定制有三种主要方法,这取决于你希望定制的应用范围有多广。

要使任何定制的范围尽可能狭窄,请注入自动配置的WebClient.Builder,然后根据需要调用其方法,WebClient.Builder实例是有状态的:构建器上的任何更改都反映在随后使用它创建的所有客户端中,如果想用同一个构建器创建多个客户端,还可以考虑使用WebClient.Builder other = builder.clone();克隆构建器。

为所有WebClient.Builder实例进行应用程序级的附加定制,你可以声明WebClientCustomizer bean并在注入点局部的更改WebClient.Builder

最后,你可以回到原来的API并使用WebClient.create(),在这种情况下,不应用自动配置或WebClientCustomizer

上一篇:使用RestTemplate调用REST服务 下一篇:验证&发送电子邮件

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77369.html

相关文章

  • Spring Boot 参考指南使用RestTemplate调用REST服务

    摘要:使用调用服务如果需要从应用程序调用远程服务,你可以使用框架的类,由于实例通常需要在使用之前进行定制,因此不提供任何自动配置的。自动配置的确保将合理的应用于实例。上一篇消息传递下一篇使用调用服务 33. 使用RestTemplate调用REST服务 如果需要从应用程序调用远程REST服务,你可以使用Spring框架的RestTemplate类,由于RestTemplate实例通常需要在使...

    CatalpaFlat 评论0 收藏0
  • Spring Boot 参考指南(目录)

    摘要:参考指南使你可以轻松地创建可运行的独立的生产级的基于的应用程序,我们对平台和第三方库有自己的看法,这样你就可以以最低限度工作开始了,大多数应用程序都需要很少的配置。文档本节简要概述了参考文档,它充当文档其余部分的映射。 Spring Boot 参考指南 Spring Boot使你可以轻松地创建可运行的独立的、生产级的基于Spring的应用程序,我们对Spring平台和第三方库有自己的看...

    awesome23 评论0 收藏0
  • Spring Boot 参考指南(验证&发送电子邮件)

    摘要:例如,以下服务触发第一个参数的验证,确保其大小在到之间发送电子邮件框架为使用接口发送电子邮件提供了一个简单的抽象,为它提供了自动配置以及启动模块。有关如何使用的详细说明,请参阅参考文档。 35. 验证 只要类路径上有JSR-303实现(比如Hibernate验证器),Bean validation 1.1支持的方法验证特性就会自动启用,这就让bean方法在参数和/或返回值上使用java...

    fjcgreat 评论0 收藏0
  • Spring Cloud Alibaba基础教程:支持的几种服务消费方式

    摘要:那么为什么可以带给我们这样的完美编码体验呢实际上,这完全归功于的封装,由于在服务注册与发现客户端负载均衡等方面都做了很好的抽象,而上层应用方面依赖的都是这些抽象接口,而非针对某个具体中间件的实现。 通过《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBala...

    curlyCheng 评论0 收藏0
  • 《 Kotlin + Spring Boot : 下一代 Java 服务端开发 》

    摘要:下一代服务端开发下一代服务端开发第部门快速开始第章快速开始环境准备,,快速上手实现一个第章企业级服务开发从到语言的缺点发展历程的缺点为什么是产生的背景解决了哪些问题为什么是的发展历程容器的配置地狱是什么从到下一代企业级服务开发在移动开发领域 《 Kotlin + Spring Boot : 下一代 Java 服务端开发 》 Kotlin + Spring Boot : 下一代 Java...

    springDevBird 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<