RestTemplate、RestClient VS WebClient

问题描述 投票:0回答:1

我有一个 Spring Web 应用程序,它对外部 Web 服务进行 Http 调用,目前它使用 webflux 中的 WebClient 来进行此类调用,但每次它都使用 .block() ,因为我们不需要异步处理

    public <T> T sendGetRequest(Class<T> responseType, URI uri) {
        return webClient.get().uri(uri)
                .headers(WebRequestUtil::setHeaders)
                .retrieve()
                .bodyToMono(responseType)
                .block();
    }

那么,问题是,既然没有异步编程,那么使用WebClient不是更好吗,或者使用WebClient配合.block()也可以

我不想做微观优化,我应该重构吗?

java spring backend spring-webflux webclient
1个回答
0
投票

如果保留

WebClient
,您可以根据需要选择非阻塞,或者像当前一样继续阻塞。它以牺牲一行代码为代价提供了一种选择 (
block
),因此,我认为没有任何理由使用
RestTemplate

PS:你的问题听起来像是在代码审查中提出的。不过这并没有什么问题。

© www.soinside.com 2019 - 2024. All rights reserved.