工欲善其身,必先利其器
----------------------------------------------------------------------------------------------------------------------------《论语 卫灵公》
自从有了postman 开发效率翻倍 不用整天麻烦前端进行联调了 乃后端开发之必备工具
postman如何携带token发送请求呢:
首先创建一个请求,之后分为以下几步:
- 创建环境变量并设置其中的全局变量
- 将以下代码加入到当前请求的test中(如果可以提供token的值则无需这一步):
var data = JSON.parse(responseBody);
//token在data数据的节点下
if (data.data.token) {
tests["Body has token"] = true;
postman.setEnvironmentVariable("token", data.data.token);
}
else {
tests["Body has token"] = false;
}
这段脚本的意义是当服务器返回的body中存在token则用其值填充当前的token值 : 当postman无法提供token的值,可以通过请求后台一个返回token信息的接口来获取token, 脚本将自动给token填入之前设置的全局变量中
本文中我已经有了后台的token信息,所以直接将token值复制粘贴了,这一步是没必要的
- 发送请求
在请求头中加上一对k-v (token的值用{{token}}
进行引用) 鼠标悬停至value的上方 可以看到token的值
之后直接发送请求到后台,后台进行debug:
此时后台报异常了,无法获得token ?!
可以看到后台接收token是对Authorization参数对应的value进行截取,前端也得将key设为Authorization,以保持二者同步:
再次发送请求 后台的token便可接收参数了
-------------------------------------------------------------------------- Attention ----------------------------------------------------------------------------
- 发送请求时 图中位置需要指定使用哪个环境变量名(之前设置的环境变量名为
token_test
)
如果不设置,则后台接收的并非token的值而是 {{token}}
字样
但是这个设置是单选,如果想携带多个全局变量该怎么办呢?
答: 虽然该设置是单选 但是一个环境变量名可以对应多个全局变量的k-v
- 更新环境变量时 不要更新初始值,更新当前值:
The end
本文对以下文章多有借鉴
https://www.cnblogs.com/agoodmanisme/p/7d13c0af5a3785d8dcc129205eec76b8.html