gpt4 book ai didi

java - 如何针对不同的子类使用 RestTemplate.exchange

转载 作者:行者123 更新时间:2023-12-02 02:42:19 24 4
gpt4 key购买 nike

我有一个抽象基类 A,以及从 A 继承的 2 个子类(B 和 C)。

现在,我正在使用 RestTemplate 交换从 REST API 端点检索对象列表。但这些对象可以是 B 或 C。我如何使用 RestTemplate 来做到这一点?如果我的代码如下

ResponseEntity<B> response = restTemplate.exchange(
endpointURL,
HttpMethod.GET,
request,
new ParameterizedTypeReference<B>() {} );

上面是针对B的,但是responseEntity可以是B或C。

最佳答案

如果您的 A 类是抽象的 RestTemplate 将无法实例化它。有可能的解决方案:

  • 使A不再抽象。您将能够获取 A 实例作为响应,但所有 BC 特定字段都将丢失。
  • 使用 String 或 Jackson 的 JsonNode 作为响应类型,然后手动检查属性以确保响应为 B C 并使用 Jackson 的 ObjectMapper 创建您的 B/C 实例。

关于java - 如何针对不同的子类使用 RestTemplate.exchange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57170367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com