上下游传参 概念

根据业务场景,有不同的上游和下游接口需要参数的传递。
在讲上下游传参之前,先了解一些必要代码基础。
json数据
json 格式的数据 都是 {} 括起来的。
基本的语法
打开Postman 工具的开发者选项

开发者选项中可以编写一些基本的JavaScript代码,因为Postman中支持 JavaScript的语法。
定义json格式的数据
使用var 关键字 定义 变量,
变量名 jsondata
变量的值为 json格式的数据
var jsondata = {"name":"xiaoming"}

定义json格式的数据
- 最外层使用
{}
- 最外层使用
- 内容以成对出现 中间用
:, 多对数据之间使用,
- 内容以成对出现 中间用
定义一个json格式的数据,要求
| name | 张铁柱 |
|---|---|
| age | 25 |
| workyear | 3 |
var jsondata = {"name":"张铁柱","age":25,"workyear":3}
访问具体字段的值
通过 . 的方式来访问其中的字段值
接口中的应用

新建主题的接口 成功之后会返回 topic_id 的值,需要将 topic_id 的值提取出来设置为变量。
postman 设置变量
打开 Tests 面板
编写代码
用代码的方式设置变量
// pm.response.json() 是postman提供的语法 表示的是服务器返回的json数据结果 (固定的语法)var jsondata = pm.response.json();// 使用postman中的功能设置变量 pm.globals.set 固定语法;pm.globals.set("topid", jsondata.topic_id);
设置成功之后可以看到 设置变量名以及最新的变量值
运行成功之后,可以看到 会自动将服务器返回结果中的 topic_id 值设置为变量 topid
引用上游接口变量
已经将具体值提取为变量,下面在新建评论的请求中使用变量。
新建评论,评论成功之后 会返回 评论id, 在 【评论点赞】这个接口中需要使用到 评论id,所以需要将评论id 设置为变量。

在下游点赞接口中引用变量
复杂的json格式数据
有些服务器返回数据结果会比较多,有多层嵌套的情况下;
比如
var jsondata = {"name":"zhangsan","friends":{"name": "lisi"}}
当数据有多层嵌套的时候,访问里面的数据 需要 一层 一层 进行提取;
var jsondata = {"name":"wangwu","info":{"city":"shanghai","phone":"134****1234","friend":{"name":"xiaoming","phone":"150****6666"}}}
[] 数组格式
在json中,如果要表示多个数据, 比如 小明有2个朋友。
var jsondata = {"name":"xiaoming","friends":[{"name":"xiaohua","age":22},{"name":"xiaohong","age":18}]}
当有多个格式一致的数据存放在一起的时候,使用 [] 。
数据在保存的时候,我们可以通过索引的方式来提取具体的值。
索引值从 0 开始, 0 表示 第一个。
比如第一个朋友的name
这里有如下数据
var jsondata = {"success": true,"data": [{"id": "61c6c999c470c9129d8d7c3a","author_id": "61c4132f7a242475bbd5cece","tab": "ask","content": "明天晴天","title": "明天晴天吗????","last_reply_at": "2021-12-25T07:49:24.577Z","good": false,"top": false,"reply_count": 1,"visit_count": 3,"create_at": "2021-12-25T07:34:49.325Z","author": {"loginname": "test_xyy","avatar_url": "/public/images/userlogo.png"}},{"id": "61c6ccfbc470c9129d8d7f9b","author_id": "61c4132e7a242475bbd5cecb","tab": "ask","content": "今天四大剁手聚会....","title": "今晚吃什么呢?","last_reply_at": "2021-12-25T07:49:15.885Z","good": false,"top": false,"reply_count": 0,"visit_count": 0,"create_at": "2021-12-25T07:49:15.885Z","author": {"loginname": "test_wyx","avatar_url": "/public/images/userlogo.png"}},{"id": "61c6cc77c470c9129d8d7f45","author_id": "61c4133c7a242475bbd5ced9","tab": "ask","content": "不过了,哈哈哈","title": "一个人的圣诞节","last_reply_at": "2021-12-25T07:49:05.244Z","good": false,"top": false,"reply_count": 1,"visit_count": 0,"create_at": "2021-12-25T07:47:03.235Z","author": {"loginname": "test_sxz","avatar_url": "/public/images/userlogo.png"}},{"id": "61c5787e8256bd0af8a9c235","author_id": "61c4131b7a242475bbd5ceb5","tab": "ask","content": "看完记得","title": "看,看,看什么看","last_reply_at": "2021-12-25T07:49:01.273Z","good": false,"top": false,"reply_count": 19,"visit_count": 63,"create_at": "2021-12-24T07:36:30.316Z","author": {"loginname": "test_zhj","avatar_url": "/public/images/userlogo.png"}},{"id": "61c6ccecc470c9129d8d7f94","author_id": "61c4131b7a242475bbd5ceb5","tab": "ask","content": "干饭人干饭魂","title": "干饭人干饭人干饭魂","last_reply_at": "2021-12-25T07:49:00.691Z","good": false,"top": false,"reply_count": 0,"visit_count": 0,"create_at": "2021-12-25T07:49:00.691Z","author": {"loginname": "test_zhj","avatar_url": "/public/images/userlogo.png"}},{"id": "61c6cce1c470c9129d8d7f92","author_id": "61c4132e7a242475bbd5ceca","tab": "ask","content": "今天圣诞节,我和朋友们在餐厅过","title": "圣诞节快乐","last_reply_at": "2021-12-25T07:48:49.676Z","good": false,"top": false,"reply_count": 0,"visit_count": 0,"create_at": "2021-12-25T07:48:49.676Z","author": {"loginname": "test_dongwenjuan","avatar_url": "/public/images/userlogo.png"}},{"id": "61c6ccd7c470c9129d8d7f91","author_id": "61c413347a242475bbd5ced5","tab": "ask","content": "往事知多少,小楼昨夜又东风,故国不堪回首月明中","title": "春花秋月何时了","last_reply_at": "2021-12-25T07:48:39.996Z","good": false,"top": false,"reply_count": 0,"visit_count": 0,"create_at": "2021-12-25T07:48:39.996Z","author": {"loginname": "test_chhao","avatar_url": "/public/images/userlogo.png"}},{"id": "61c6ccd7c470c9129d8d7f90","author_id": "61c413347a242475bbd5ced5","tab": "ask","content": "往事知多少,小楼昨夜又东风,故国不堪回首月明中","title": "春花秋月何时了","last_reply_at": "2021-12-25T07:48:39.044Z","good": false,"top": false,"reply_count": 0,"visit_count": 0,"create_at": "2021-12-25T07:48:39.044Z","author": {"loginname": "test_chhao","avatar_url": "/public/images/userlogo.png"}},{"id": "61c6cccec470c9129d8d7f8d","author_id": "61c4132e7a242475bbd5ceca","tab": "ask","content": "今天圣诞节,我和朋友们在餐厅过","title": "圣诞节快乐","last_reply_at": "2021-12-25T07:48:30.987Z","good": false,"top": false,"reply_count": 0,"visit_count": 0,"create_at": "2021-12-25T07:48:30.987Z","author": {"loginname": "test_dongwenjuan","avatar_url": "/public/images/userlogo.png"}},{"id": "61c6ccc3c470c9129d8d7f87","author_id": "61c4131b7a242475bbd5ceb5","tab": "ask","content": "干饭人干饭魂","title": "干饭人干饭人干饭魂","last_reply_at": "2021-12-25T07:48:19.281Z","good": false,"top": false,"reply_count": 0,"visit_count": 0,"create_at": "2021-12-25T07:48:19.281Z","author": {"loginname": "test_zhj","avatar_url": "/public/images/userlogo.png"}}]}

上下游传参
上游设置变量
// 将第1个话题的id设置为变量var jsondata = pm.response.json();pm.globals.set("id",jsondata.data[0].id);
下游接口中引用变量。
总结
上下游传参
- 确定业务中的上游,下游接口
- 使用代码的方式在 上游接口中 设置变量
- 下游引用变量。
