当前位置: 首页 > 知识库问答 >
问题:

如何将客户端响应的主体转换为特定类型的Mono?

颜永怡
2023-03-14

因此,我使用WebClient发送请求,并且在使用exchange()检索响应后,我需要将主体提取到Object_1的Mono。该函数需要返回单声道

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(????));

    }

我试图弄清楚在身体里面放什么ToMono()

共有1个答案

贲宜春
2023-03-14

我相信您可以通过重载<code>bodyToMono。

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

如果您愿意,您可以将其内联编写,并且不觉得太难阅读:

.flatMap(clientResponse -> clientResponse.bodyToMono(
    new ParameterizedTypeReference<Object1<Object2>>() {}));
 类似资料:
  • 在异步模式下更新调用 我可能能够创建Converter类的实例,但这需要了解用于创建RestAdapter的Gson对象,而我可能无法访问该对象。理想情况下,我希望直接通过restadpater获得对转换器对象的引用。 是否有方法获取对改型所使用的默认转换器的引用? 有人知道默认转换器是如何构造的吗?(没有默认构造函数,有两个构造函数和public GsonConverter(Gson Gson,

  • 我正在尝试有一个通量通用转换器使用通用类型在Java 8。我把我的代码建立在这个答案的基础上。其思想基本上是实现这个特定的转换器->: 类型转换器->转换为我想要的任何类型。因此,我正在使用构造函数创建一个类型为的类,并返回一个方法。我想在调用上创建类似这样的多个条目:,但类类型不同。但它甚至对整数也不起作用。 当我使用此单元测试进行测试时,我得到错误:。

  • 我通过扩展改型回调生成了类。我想将响应解析为字符串。在我的例子中,每个响应都得到这种类型的JSON对象。在成功回应的情况下: 万一发生故障响应 如何将响应体转换为JsonObject,以便检查字段“success”:并在成功时导航各自方法--onResponseSuccess(Call Call,response response);在失败时导航onResponseFailure(Call Cal

  • 我正在尝试测试我的Quarkus应用程序。我想检查响应是否大于 0,问题是我调用的终结点返回的是 String 而不是数字。如何将响应转换为数字并检查它是否大于 0? 这是我收到的回复:“28357”。这是我得到的错误:

  • 我不知道这里有什么问题。我想发出一个响应二进制数据(例如文件下载)而不是JSON的HTTP请求。 这些行是可以的-但需要JSON。 但我需要将响应定义为不是 JSON。 在这里,我遇到了一个问题。我也尝试了“斑点”。我总是在编译时收到一个类型脚本错误。 类型'{resseType:"string";}'的参数不能分配给类型'{Headers?: HttpHeaders|{[head: string

  • 问题内容: 我正在将iOS项目迁移到Swift。我正在上课。当我从Swift调用Objective C方法时,很多Objective C类型都转换为它们的Swift对应类型。 在我的情况下,目标C 转换为Swift的。现在是我的问题了。在我的Swift类中,我从Objective C对象获得了这样的数组。现在我处于Swift世界中,我想将此数组强制转换为特定类型,而不是,因为我确定知道此数组中存在