开发者社区> 搁浅@殇> 正文

postman 接口返回值有多个相同key时(不唯一),怎么提取第2个value给下一接口调用?

简介: postman 接口返回值有多个相同key时(不唯一),怎么提取第2个value给下一接口调用?
+关注继续查看

这个问题之前困扰了我很久,一直搜索类似的博客都没找到答案,终于自己慢慢摸索中找到了答案!
(博客引用请注明链接,谢谢。)

用postman做接口测试,肯定会遇到上一接口的返回值给下一接口调用的问题,那么需要可将上一参数设置为全局变量。

1、如图1的“parentId”要给到下一接口调用,可将“parentId”设置为全局变量(图2)。
在“Tests”中写入代码为:
var data = JSON.parse(responseBody); //获取所有的返回数据;
tests[data.result] = responseBody.has("true");//返回数据中有“true”
tests[data.msg] = responseBody.has("登录成功");//返回数据中有“登录成功”。(这两个断言依照返回数据填写)
pm.globals.set("parentId", data.data.parentId);//将“parentId”设置为全局变量(“parentId”在返回数据中是唯一的)

image

image

2、设置好后,点击发送,“parentId”的值就自动填写到全局变量中(图3)

image

3、遇到返回值中需要调用的参数不止一个,但是要调用第2个,返回数据如图4--“parentStudentId”不止一个,该怎么办呢?
如果按照上面的代码“pm.globals.set("parentStudentId", data.data.parentStudentId);”发送的话,是获取不到“parentStudentId”的值(图5)

image

image

4、因为data的数据中“parentStudentId”有多个值,那肯定代码中要注明获取的是data数据中的哪个,即data[1]表示取第2个,data[0]表示取第1个。
代码如图6(pm.globals.set("parentStudentId", data.data[1].parentStudentId););
此时再请求下,则可获取到“parentStudentId”的值了(图7).
image
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SHELL中函数的写法、调用、参数、返回值代码范例
SHELL中函数的写法、调用、参数、返回值代码范例
27 0
C# 调用存储过程操作 OUTPUT参数和Return返回值
本文转载:http://www.cnblogs.com/libingql/archive/2010/05/02/1726104.html   存储过程是存放在数据库服务器上的预先编译好的sql语句。使用存储过程,可以直接在数据库中存储并运行功能强大的任务。
889 0
PostgreSQL技术周刊第10期:PostgreSQL 调用 Rust 函数内存耗用研究
PostgreSQL(简称PG)的开发者们:云栖社区已有5000位PG开发者,发布了3000+PG文章(文章列表),沉淀了700+的PG精品问答(问答列表)。 PostgreSQL技术周刊会为大家介绍最新的PG技术与动态、预告活动、最热问答、直播教程等,欢迎大家订阅PostgreSQL技术周刊。
3024 0
postman导入和给接口取中文名字
本章主要讲postman如何导入以及给接口取中文名字. image.png image.png 关注我的公众号,都是满满的干货! 孙坚.gif
1686 0
使用tuple返回多个值
17.4编写并测试findbook函数 #include #include #include #include #include #include"Sales_data.h" using namespace std; typedef tuple matches; vecto...
585 0
+关注
2
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载