在使用 postman 联调接口,发起请求时候,很多接口都有相同的部分。例如请求根路径,请求携带的token。如何将请求根路径在 postman
中一处配置,处处使用?如何在每次请求的时候自己携带 token
,不需要自己再在每一个请求头中写上token?
一、了解 postman 的变量
postman的变量分为全局变量和环境变量
1. 全局变量
在全局生效的变量,唯一
1. 设置全局变量
代码设置
pm.globals.set("variable_key", "variable_value");
界面设置
找到全局变量可以设置全局变量的名,初始值,和当前值
设置完成之后,点击软件右上角即可查看当前变量
2. 使用全局变量
代码使用
pm.globals.get("variable_key");
界面使用
用双花括号包裹,在postman界面中直接使用即可
2. 环境变量
在指定的环境中生效(开发、测试、生产)。
1. 设置环境变量
代码设置
pm.environment.set("variable_key", "variable_value");
界面设置
设置完成之后,选择设置的环境变量,同样可以查看
2. 使用环境变量
代码使用
pm.environment.get("variable_key");
界面使用
用双花括号包裹,在postman界面中直接使用即可
项目中使用
1. 将 token 存入环境变量,每一个请求的 token 值使用该环境变量
在上文中,可以在环境变量中设置 token
这个变量,每一个请求添加 token
的时候,将 token
的值 设为 {{token}}
,就可以使用到环境变量中的token。
2. 将 token 存入环境变量,在每一个请求前自动在请求头中添加token
这个则要在 collections
的 pre-request
的 Script
中,在每一次请求将 token
添加进请求头中。
此时 在每一个请求中,就不需要在请求头中添加token了
如果 token
是在 Authorization
可以直接在 collections
中的 Anthorization
填写,不在 pre-request
中写脚本
每一个请求的 Authorization
选择继承就可以实现每次请求使用 collections
中的 Authorization
的 token
2.1. 将请求根路径同样可以仿照 token 在每一个请求的路径前自动添加
部分代码
if (pm.environment.get("token")) {
pm.request.headers.add({
key: 'token',
value: pm.environment.get("token"),
})
console.log(pm.request)
pm.request.url.host =pm.environment.get("base_url")
}else {
console.warn("没有token")
}
3. 将登录接口写进 postman,并将登录成功的token直接存入环境变量
这是一个通过验证码登录成功,并获取到了 token 的例子
可以将登录接口获取到的 token 直接写入到环境变量中。
postman 中可以调试,点击软件左下角 console 即可
如有错误,欢迎指正,谢谢!
以上内容仅供参考,欢迎大家讨论。