当前位置: 首页 > news >正文

postman接口关联

postman 接口关联

当我们想在另外一个接口的返回值,作为当前接口的参数时,可以通过 postman 的 scripts 来实现。

image-20240913165435781

scripts

这里的语法就是 JavaScript,上手很快。

在接口执行前后可以进行一些操作。

image-20240913175818417

pre:执行前

post:执行后

environment variable(环境变量)

postman 中提供了让用户设置不同环境的配置。不同的环境可以使用不同的地址或参数,通过 {{variable name}} 来 获取配置的值。

作用域:当前环境

image-20240913170854102

新增环境并设置对应的变量

image-20240913173006808

选择当前环境

image-20240913173246219

执行后再 console 中能看见对应的变量已经替换成实际值了

image-20240913173410254

那为什么让接口关联呢?

可以让接口成功返回后,将对应的值写入到环境变量中。

image-20240913175741907

// 将结构转换为json
var response = pm.response.json();
if(response.statusCode == '0'){pm.environment.set("accessToken", response.data.accessToken);pm.environment.set("refreshToken", response.data.refreshToken);
}

接口执行成功后观察环境变量,会发现新增了两个变量。那么其他接口需要依赖这些信息的化,可以直接通过 {{variable name}} 获取对应的值了。

image-20240913175932569

Globals Environment Variable(全局环境变量)

因为只能选择一个环境作为当前环境,那么公共的一些参数不要多个地方配置,就可以在全局环境变量里面设置。

作用域:本工作空间全部接口。

当然这里的接口关联也可以使用它,只是脚本替换一下即可。

// 将结构转换为json
var response = pm.response.json();
if(response.statusCode == '0'){pm.globals.set("accessToken", response.data.accessToken);pm.globals.set("refreshToken", response.data.refreshToken);  
}

调用成功后对应的值会存放到这里,然后也可以通过 {{variable name}} 获取对应的值了。

image-20240914091325117

Collection Variable(集合变量)

postman 中一个工作空间捏可以定义多个集合。

作用域:本集合全部接口。

这里也是一样,只是脚本替换一下即可。

image-20240914113504046

// 将结构转换为json
var response = pm.response.json();
if(response.statusCode == '0'){pm.collectionVariables.set("accessToken", response.data.accessToken);pm.collectionVariables.set("refreshToken", response.data.refreshToken);
}

调用成功后发现已经把对应的值放进去了。image-20240914113702206

Variable

每个节点单独定义。

作用域:单次请求内;

注意:

  1. 设置 Variable 不会环境变量,全局环境变量或集合变量中显示存在。因为他的作用域显示存在的。
  2. 获取 Variable 时是有优先级的它会去各个变量中去尝试获取 请求内 Variable > Collection Variable > Environment Variable > Global Variable
// 设置前先打印一遍
console.log(pm.variables.get("response"));
var response = pm.response.json();
// 设置variable
pm.variables.set("response",response);
// 再打印
console.log(pm.variables.get("response"));

观察可以发现,第一次输出的是 undefined

image-20240914135645770

内置变量

postman 其实为我们内置了很多内置变量,已经随机数。下面只演示一个,可以自行学习。

image-20240914140354938

$guid: 随机数(爬虫可还行)

image-20240914140944251

前置接口

我不想分别调用两次接口该如何处理呢?

try {const response = await pm.sendRequest({url: "https://xxx/oauth2/token",method: "POST",headers: {"Content-Type": "application/x-www-form-urlencoded"        },body: {mode:"urlencoded",urlencoded:[{key:"grant_type",value:"client_credentials"},{key:"client_id",value:"xxx"},{key:"client_secret",value:"xxx"},]  } });var json = response.json();// 得到返回值后设置token这边变量pm.variables.set("token",json.access_token);
} catch (err) {console.error(err);
}

增加一个变量 image-20240914152730708

pre-request 中添加脚本。 请求之后发现 token 已经有值了。
image-20240914154420477 postman 官方文档,可以对请求进行修改(sendRequest 里的参数也可以查看),详细请查看。

https://www.postmanlabs.com/postman-collection/Request.html#~definition


http://www.mrgr.cn/news/26801.html

相关文章:

  • SAP自动化-ME12批量更新最后一行的价格
  • C++:模板——详解函数模板与类模板
  • AI绘画:科技赋能艺术的崭新时代
  • 【Google Chrome Windows 64 version及 WebDriver 版本】
  • MySQL5.7-虚拟列
  • 管理者须知!员工上班玩游戏怎么办?如何有效管理员工上班玩游戏行为?
  • Djourney新手入门基础,AI摄影+AI设计+AI绘画-AIGC作图
  • TCPIP网络编程(尹圣雨)UDP 轮流收发消息(windows)
  • 春日教育技术:SpringBoot在线视频教学
  • NVM 安装 + 配置淘宝镜像
  • 【大模型专栏—进阶篇】语言模型创新大总结——“后起之秀”
  • Python 内置的一些数据结构
  • 轧钢测径仪对热轧产线实现温度系数自动修正!
  • 从头开始学MyBatis—02基于xml和注解分别实现的增删改查
  • Springboot项目打war包运行及错误解决
  • 文献速递 | E3泛素连接酶PELI2介导STING信号激活的阈值设定
  • 每日处理250亿个事件,Canva如何应对数据洪流
  • VSCode 离线安装中文语言包
  • NFT Insider #147:Sandbox 人物化身九月奖励上线;Catizen 付费用户突破百万
  • 云服务器拉取docker镜像