如何将客户端的响应某种类型的单体转换?

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

所以,我发送邮件使用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里面放什么()

spring-boot spring-webflux
1个回答
0
投票

我相信你可以做到这一点与bodyToMono的重载需要ParameterizedTypeReference

ParameterizedTypeReference<Object1<Object2>> typeRef =
    new ParameterizedTypeReference<Object1<Object2>>() {};
// . . .
.flatMap(clientResponse -> clientResponse.bodyToMono(typeRef));

你可以在线写吧,如果你喜欢和不觉得它太难以阅读:

.flatMap(clientResponse -> clientResponse.bodyToMono(
    new ParameterizedTypeReference<Object1<Object2>>() {}));
© www.soinside.com 2019 - 2024. All rights reserved.