【发布时间】:2018-08-12 05:12:54
【问题描述】:
我有一个关于 Spring WebClient
的问题在我的应用程序中,我需要执行许多类似的 API 调用,有时我需要更改调用中的标头(身份验证令牌)。那么问题来了,这两种选择哪个更好:
-
为 MyService.class 的所有传入请求创建一个 WebClient,方法是将其设为
private final字段,如下面的代码:private final WebClient webClient = WebClient.builder() .baseUrl("@987654321@") .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) .defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE) .build();
这里出现了另一个问题:WebClient 是线程安全的吗? (因为服务被很多线程使用)
- 为每个传入服务类的新请求创建新的 WebClient。
我想提供最大的性能,并以正确的方式使用它,但我不知道 WebClient 在其中是如何工作的,以及它期望如何使用。
谢谢。
【问题讨论】:
-
“所有传入请求的WebClient” --- 你的意思是“传出”请求吗?
标签: spring spring-webflux