相关疑难解决方法(0)

在多线程环境中使用Spring WebClient的正确方法

我有一个关于Spring WebClient的问题

在我的应用程序中,我需要执行许多类似的API调用,有时我需要在调用中更改标头(身份验证令牌).所以问题出现了,两种选择会更好:

  1. 要为MyService.class的所有传入请求创建一个WebClient,通过使其成为private final字段,如下面的代码:

    private final WebClient webClient = WebClient.builder()
            .baseUrl("https://another_host.com/api/get_inf")
            .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
            .defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE)
            .build();
    

这里出现了另一个问题:WebClient线程安全吗?(因为服务被许多线程使用)

  1. 为传入服务类的每个新请求创建新的WebClient.

我想提供最大的性能,并以正确的方式使用它,但我不知道WebClient如何在其中工作,以及它如何使用.

谢谢.

spring spring-webflux

19
推荐指数
2
解决办法
9749
查看次数

标签 统计

spring ×1

spring-webflux ×1