You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

API分页问询:Matillion调用Plytix API时URL传参或动态请求体分页实现

问题解答

能否通过URL参数实现分页?

不行。根据测试结果和Plytix API的要求,该接口仅识别请求体中的pagination参数,URL上的page/pageSize参数会被忽略,接口将返回默认的第1页、每页25条数据。因此必须通过请求体传递分页参数才能生效。

如何在Matillion中动态设置请求体的分页参数?

你需要修改Script Paging的脚本,直接操作请求体而非URL参数,具体步骤和示例脚本如下:

修改思路

  1. 初始化请求体结构,确保包含pagination节点(第一次请求时设置初始分页值)
  2. 从响应中提取当前页码,计算下一页
  3. 更新请求体里的pagination.page字段
  4. 根据API返回的分页信息设置停止条件(建议用总页数判断,比固定页数更合理)

示例脚本

// 初始化请求体(首次请求时设置基础分页配置)
var currentReqBody = @request.body.get();
if (!currentReqBody.pagination) {
    currentReqBody.pagination = {
        "order": "sku",
        "page": 1,
        "page_size": 100
    };
    @request.body.set(currentReqBody);
}

// 从响应中获取当前页码,计算下一页
var currentPage = @response.body.get("/data/pagination/page");
var nextPage = currentPage + 1;

// 更新请求体中的页码参数
var updatedReqBody = @request.body.get();
updatedReqBody.pagination.page = nextPage;
@request.body.set(updatedReqBody);

// 停止条件:当下一页超过总页数时停止(假设API返回total_pages字段)
var totalPages = @response.body.get("/data/pagination/total_pages");
@pager.stop(nextPage > totalPages);

注意事项

  • 注意参数名格式:API要求请求体中是page_size(下划线分隔),不是URL参数常用的pageSize(驼峰)
  • 优先用API返回的total_pages判断停止,避免固定页数导致的漏取或多余请求
  • 如果初始请求已有请求体,确保pagination节点存在,否则需要先创建该节点再赋值

内容的提问来源于stack exchange,提问作者user26426873

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 21:05:07