通过json进行java迭代,并为其他请求调用多个API
我正在使用Postman来迭代一个包含大约40对项目的json。然后,我需要获取创建的数组,并为数组中的每个元素运行API调用,以返回一组结果。使用这里的代码,我只能提取数组中的最后一个元素。我试图把邮递员放进去。setNextRequest在for循环中,但后来我发现无论它在哪里,它总是最后执行
tests["Status code is 200 (that's good!)"] = (responseCode.code === 200);
if (responseCode.code === 200) {
var jsonData = pm.response.json();
var json = [];
postman.setEnvironmentVariable("json", jsonData)
postman.setNextRequest('GetAdmins');
for (var key in jsonData ) {
if (jsonData.hasOwnProperty(key)) {
postman.setEnvironmentVariable("organizationId", jsonData[key].id)
postman.setEnvironmentVariable("orgname", jsonData[key].name)
tests[jsonData[key].name + " " + jsonData[key].id] = !!jsonData[key].name;
}
}
}
else {
postman.setNextRequest(null);
}
GetAdmins是另一个在调用中使用{{organizationId}的GET
我想我要找的是;对json中的每个元素运行另一个API调用的最佳方式是什么
提前谢谢
编辑:添加JSON输出
[
{
"id": XXXXXX,
"name": "Name1"
},
{
"id": XXXXXX,
"name": "Name2"
},
{
"id": XXXXXX,
"name": "Name3"
}
]
# 1 楼答案
我通过以下两个指南解决了这个问题:
我还必须为java实现bigint修复程序,但在Postman中,这非常烦人。。。可以在这里找到:
很多google plus的尝试和错误让我开始运行
谢谢大家的帮助
这是我最后的代码:
GetOrgs
GetAdmins
# 2 楼答案
这可能有助于获取数据——我还没有尝试过,所以第一次可能不起作用
然后,您的所有组织数据都在一个变量中,您可以使用这些数据在下一个“Get Admins”请求中迭代Id
您需要在下一个请求的
Pre-request script
中有一些代码来访问每个id,以便在请求中进行迭代。您需要像这样解析变量:那么
orgID[0].organizationId
将是列表中的第一个这不是解决你问题的完整方案,但它可能会帮助你获得数据