千家信息网

Postman下一个接口要用到上一个接口的数据

发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,问题描述:现在有A、B两个接口,A接口返回的response的body中是以下结构,我要取rows里面的order_id给B接口用。{ "status": 1, "code": 0, "msg"
千家信息网最后更新 2025年02月13日Postman下一个接口要用到上一个接口的数据
问题描述:

现在有A、B两个接口,A接口返回的responsebody中是以下结构,我要取rows里面的order_id给B接口用。

{  "status": 1,  "code": 0,  "msg": "获取**成功!",  "data": {    "rows": [      {        "order_id": "1493967886001",         ......      }    ],    "pagenation": {      "total": "1",      "page": "1",      "pagesize": "20",      "page_offset": 0,      "page_total": 1    }  }}
解决办法:

1、在A接口的test里面设定环境变量

var data = JSON.parse(responseBody);if(data.status ==1){    tests["查询成功"] = true;    postman.setEnvironmentVariable("order_id", data.data.rows.order_id);}else{    tests["查询成功"] = flase;}

2、在B接口的参数Body中调用`order_id`,但是我发现查看环境变量,A接口的这个值并没有赋予到环境变量order_id里面。

问题分析

其他接口我也是这样调用是没有问题的,但是这个接口不同的是在A接口的response里面的rows内多了一个[],所有没有成功赋予该值到order_id。我百度了一下资料,并没有相关的介绍,所有在此问问各位有什么解决的办法。

试下这个了 data.data.rows[0].order_id
或者这样循环去找
for (var i = 0;i < jsonData.data.rows.length;i++){
var list = jsonData.data.rows[i];
tests["订单编号"+list.order_id] =list.order_id
}

0