所以,我发送邮件使用Web客户端的请求,并通过交换检索响应后()我需要身体解压到Object_1的单声道。该函数需要返回单>。通常你会使用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里面放什么()
我相信你可以做到这一点与bodyToMono
的重载需要ParameterizedTypeReference
。
ParameterizedTypeReference<Object1<Object2>> typeRef =
new ParameterizedTypeReference<Object1<Object2>>() {};
// . . .
.flatMap(clientResponse -> clientResponse.bodyToMono(typeRef));
你可以在线写吧,如果你喜欢和不觉得它太难以阅读:
.flatMap(clientResponse -> clientResponse.bodyToMono(
new ParameterizedTypeReference<Object1<Object2>>() {}));