我收到了一个奇怪的警告 WebClient.RequestHeadersSpec
我不知道我应该把什么类型的人带进监狱 WebClient.RequestHeadersSpec<?>
作为初始化的一部分 requestSpec
.
WebClient.RequestHeadersSpec requestSpec = webClientBuilder.build().get().uri(uri);
try {
return requestSpec
.header("Content-Type", HEADER_VALUE_CONTENT_TYPE)
.retrieve()
.bodyToMono(String.class)
.timeout(Duration.ofMillis(config.getTimeoutInMilliseconds()))
.block();
} catch (WebClientResponseException e) { // do something }
webclient.requestheadersspec是原始类型。对泛型类型webclient.requestheadersspec的引用应参数化为java(16777788)
但是,这种方法对于 post()
,所以我很想知道主要的区别是什么
WebClient.RequestBodySpec requestBodySpec = webClientBuilder.build().post().uri(uri);
注:以下为 block()
是需要的,这是一个同步呼叫
1条答案
按热度按时间vom3gejh1#
如果你检查一下
WebClient
你会看到get()
返回类型为RequestHeadersUriSpec<?>
,而post()
有RequestBodyUriSpec
延伸到RequestHeadersUriSpec<RequestBodySpec>
. 而post
方法的返回类型是通过继承参数化的get
方法的不是。因此发出警告。为避免出现警告,只需为类型声明提供泛型类型: