因此,我使用WebClient发送请求,并使用exchange()检索响应后,需要将主体提取到Object_1的Mono。该函数需要返回Mono>。通常,您将使用bodyToMono(SomeObject.class),但是在这种情况下不起作用。
public Mono<Object1<Object2>> getAll(String someParam) {
return WebClient.create(this.baseUrl)
.get()
.uri(uriBuilder -> uriBuilder.path("/some_path")
.queryParam("someParam", someParam)
.build())
.exchange()
.flatMap(clientResponse -> clientResponse.bodyToMono(????));
}
我正在尝试找出在bodyToMono()中放入什么
答案 0 :(得分:0)
我相信您可以通过占用bodyToMono
的ParameterizedTypeReference
重载来做到这一点。
ParameterizedTypeReference<Object1<Object2>> typeRef =
new ParameterizedTypeReference<Object1<Object2>>() {};
// . . .
.flatMap(clientResponse -> clientResponse.bodyToMono(typeRef));
如果愿意,可以内联编写,不要觉得很难读懂:
.flatMap(clientResponse -> clientResponse.bodyToMono(
new ParameterizedTypeReference<Object1<Object2>>() {}));