首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有一种方法可以通过Spring的restTemplate检索具有嵌套列表的对象

有没有一种方法可以通过Spring的restTemplate检索具有嵌套列表的对象
EN

Stack Overflow用户
提问于 2022-08-04 08:23:47
回答 1查看 82关注 0票数 0

这是我们要检索的对象:

代码语言:javascript
运行
复制
// Lombok annotated
@Getter
@Setter
@ToString(callSuper = true)
public class GetTransactionsResponse  {

  public String name;

  public List<Transaction> list;
}

我们有一个具有元数据的对象和一个对象列表。

我们尝试在如下方法中使用spring的restTemplate:

代码语言:javascript
运行
复制
public GetTransactionsResponse getTransactions(String token, Request request) {
    var requestEntity = RequestEntity
      .get(externalApiClient.getTransactionsPath())
      .header(HttpHeaders.AUTHORIZATION, token)
      .build();

    return handleCall(requestEntity, GetTransactionsResponse.class);
}

private <T> T handleCall(RequestEntity<?> requestEntity, Class<T> clazz) {
  try {
    var result = restTemplate.exchange(requestEntity, clazz).getBody();
    log.info("method: handleCall - requestEntity: {} - clazz: {} - result: {}", requestEntity, clazz, result);
    return result;
  } catch (Exception e) {
    throw e
  } 
}

因此,我们调用rest模板,但我们正在接收null。如果没有嵌套数据,前面的方法可以工作,但在使用嵌套对象时会以某种方式返回null。我们使用rest模板错误吗?

EN

回答 1

Stack Overflow用户

发布于 2022-08-04 08:36:57

首先,验证您创建的Rest是否实际工作。用posman或ARC (高级Rest客户端)来测试它--一个用于chrome的插件,并确保您得到了想要的结果。如果它有效,那么您可以从任何Http客户端(包括Rest模板)向API发送请求。如果您的API工作,但从Rest模板调用它不能,那么您将知道问题在您的客户端,您可以尝试找出原因。但是,首先要验证Rest是否实际工作,并且不返回null。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73232633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档