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

Postman循环链式调用3个API删除客户订单历史时迭代中断问题

Postman链式调用中断问题修复方案

问题根因

  • API#2的Tests脚本中使用了未定义变量receiptHandles,你实际需要判断的是partNumbers数组的长度
  • 调用API#3后没有指定后续跳转逻辑,导致API#3执行完成后流程直接终止
  • 原API#2的Pre-request Script中放置了循环跳转逻辑,插入API#3调用时跳转链路会断裂

修改步骤

1. 调整API#2的Pre-request Script

删除原有跳转逻辑,仅保留变量赋值功能:

var orderIds = JSON.parse(pm.variables.get('orderIds'));
var index = parseInt(pm.variables.get('orderIdsIndex'));
pm.variables.set('orderId', orderIds[index]);

2. 重写API#2的Tests脚本

修正判断条件,调整跳转逻辑:

const responseJson = pm.response.json();
var partNumbers = [];
for (var key in responseJson){
    // 增加判空逻辑,避免PartNumber为null时报错
    if(responseJson[key]?.PartNumber) {
        partNumbers.push(responseJson[key].PartNumber);
    }
}
pm.variables.set('partNumbers', JSON.stringify(partNumbers));

var orderIds = JSON.parse(pm.variables.get('orderIds'));
var currentIndex = parseInt(pm.variables.get('orderIdsIndex'));

if (partNumbers.length != 0) {
    // 存在待删除的partNumber,先跳转到API#3执行删除
    postman.setNextRequest('API#3');
}else{
    // 无待删除数据,直接判断是否还有下一个orderId需要处理
    if(currentIndex + 1 < orderIds.length) {
        pm.variables.set('orderIdsIndex', currentIndex + 1);
        postman.setNextRequest('API#2');
    } else {
        // 所有orderId处理完成,终止流程
        postman.setNextRequest(null);
    }
}

3. 为API#3新增Tests脚本

执行完删除操作后控制流程继续下一轮迭代:

var orderIds = JSON.parse(pm.variables.get('orderIds'));
var currentIndex = parseInt(pm.variables.get('orderIdsIndex'));

if(currentIndex + 1 < orderIds.length) {
    // 还有未处理的orderId,索引+1后跳回API#2
    pm.variables.set('orderIdsIndex', currentIndex + 1);
    postman.setNextRequest('API#2');
} else {
    // 所有orderId处理完成,终止流程
    postman.setNextRequest(null);
}

注意事项

你当前API#3的请求体写法{"partNumberList": {{partNumbers}}}是符合要求的,partNumbers变量是JSON序列化后的数组,直接替换后可以被正确识别为合法JSON格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 09:03:00