首页 > 解决方案 > Talend - 如何从 tRestClient 检索响应标头

问题描述

我正在使用 tRestClient 从 REST API 中提取数据,该 API 在每个页面中返回最多 200 个项目的数据。响应标头中提供了指向下一页的链接。

如何使用 tRestClient 访问响应标头?

据我所知,返回的唯一数据位于响应正文中。

注意:来自 Postman 的同一调用验证是否存在标有“链接”的响应标头,其中包含必要的数据。

标签: paginationiterationtalendrecurly

解决方案


我在Talend 社区的帖子中找到了答案

响应标头存储在一个全局变量中,仅当响应主体传递给诸如 tLogRow 之类的东西时才会实际填充该变量(即使响应主体中没有任何内容)。

可以通过以下方式访问全局变量:

((java.util.Map<String,java.util.List<String>>)globalMap.get("tRESTClient_1_HEADERS")).get("NAME_OF_HEADER_FIELD_HERE").get(INDEX_HERE).toString();

其中“NAME_OF_HEADER_FIELD_HERE”是您感兴趣的特定标头的键(字符串),“INDEX_HERE”是与该特定标头关联的值列表中特定值的整数索引(从 0 开始)。

在这种情况下,我们将结果显式转换为字符串,然后在其他地方使用。


推荐阅读