pagination - Talend - 如何从 tRestClient 检索响应标头
问题描述
我正在使用 tRestClient 从 REST API 中提取数据,该 API 在每个页面中返回最多 200 个项目的数据。响应标头中提供了指向下一页的链接。
如何使用 tRestClient 访问响应标头?
据我所知,返回的唯一数据位于响应正文中。
注意:来自 Postman 的同一调用验证是否存在标有“链接”的响应标头,其中包含必要的数据。
解决方案
我在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 开始)。
在这种情况下,我们将结果显式转换为字符串,然后在其他地方使用。
推荐阅读
- python - 确保 PyArray_SimpleNewFromData 中使用的内存被正确释放?
- shiro - Shiro权限配置和自定义过滤器冲突
- python - ModuleNotFoundError:即使在安装和重新安装后也没有名为“bs4”的模块
- codeigniter - 用一个查询更新表
- r - 公开的 Shiny 仪表板用户是否有机会从发布的仪表板中发现 SQL 数据库凭据?
- django - 如何在Django数据库中获取对象的ID
- symfony4 - 有没有集成用户认证的项目模板?
- wordpress - 如何:WooCommerce 产品批处理 API 调用的后台处理
- c - 如何修复此结构/链表脚本中的不兼容类型?
- c++ - 指针内存分配和删除