Talend - 如何从 tRestClient 检索响应 Headers

Talend - How To Retrieve Response Headers From tRestClient

我正在使用 tRestClient 从 REST API 中提取数据,其中 returns 页面中的数据每页最多 200 个项目。下一页的 link 在响应 header 中提供。

如何使用 tRestClient 访问响应 header?

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

注意:来自 Postman 的同一调用验证是否存在标记为 "Link" 的响应 header,其中包含必要的数据。

我在 Talend Community

的 post 中找到了答案

响应 header 存储在一个全局变量中,只有当响应 body 被传递到诸如 tLogRow 之类的东西时才会实际填充(即使没有任何内容在响应 body 中)。

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

((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" 是您感兴趣的特定 header 的键(字符串),"INDEX_HERE" 是特定值的整数索引(从 0 开始)与该特定 header 关联的值列表。

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