postman设置全局token
场景很多,比如后台功能所有的接口都需要调用登录接口获取到Token以后,把token放到header头里面才允许调用后面的接口,那么我现在有几百几个接口,总不能一个个添加token吧?当我重新登录以后,旧有的Token失效,重新改一遍人会疯掉的
如上图,注意一下我红框框起来的内容,postman有单元测试的功能,当我们点击send发送请求以后,会返回请求的数据,也就是responseBody 的内容,单元测试的功能什么时候执行呢,请求完毕后就会执行tests里面的脚本了
tests里面的脚本可以写很多的单元测试的东西哈,具体链接 postman单元测试文档
我们不关心这个,只是想设置好全局token就行了,那么也很简单
var responseData = JSON.parse(responseBody)
pm.globals.set("token", responseData.data.token)
上面两句话是说,解析我们的 responseBody,转成对象的形式 responseData.data.token,就对应上面 responseBody 的结构,postman 会把 responseBody下data属性的 token变量复制给 token作为全局变量
如果你的结构不是这样子的,你就 responseBody.{变量}.{变量} 点儿出来就行了
写完tests脚本后,点击send发送请求,然后点击右上角的小眼睛,你会发现全局变量下有了token这个变量,那你每次点击登录接口,token值都会自动刷新为接口返回的值,后面需要授权请求的接口用{{token}} 变量替代即可,如下图
|