温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring Boot2中怎么调用REST服务WebClient

发布时间:2021-12-27 17:07:44 来源:亿速云 阅读:156 作者:iii 栏目:大数据

本篇内容介绍了“Spring Boot2中怎么调用REST服务WebClient”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

调用REST服务 WebClient

如果你的类路径上有Spring WebFlux,你也可以选择使用WebClient来调用远程REST服务。相比之下RestTemplate,这个客户有更多的功能感,并且完全被动。您可以使用构建器创建您自己的客户端实例, WebClient.create()。请参阅WebClient上的相关部分。

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

以下代码显示了一个典型示例:

 1@Service
2public class MyService {
3private final WebClient webClient;
4public MyBean(WebClient.Builder webClientBuilder) {
5this.webClient = webClientBuilder.baseUrl("http://example.org").build();
6}
7public Mono<Details> someRestCall(String name) {
8return this.webClient.get().url("/{name}/details", name)
9.retrieve().bodyToMono(Details.class);
10}
11}

WebClient自定义

WebClient定制有三种主要方法,具体取决于您希望应用的范围。

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

要为所有WebClient.Builder实例进行应用程序范围的附加定制,您可以声明WebClientCustomizerbean并WebClient.Builder在注入点本地进行更改。

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

“Spring Boot2中怎么调用REST服务WebClient”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI