场景:
我们请求接口:/api/rest/user/list
获取用户列表,但是该接口需要在header中带上Authorization
表示的鉴权Token才行。
而登录接口/api/rest/login
,则可以返回改Token
常规方案
我们先调登录接口/api/rest/login
获取到Token,再在请求用户列表时,手动拷贝Token放到header中,再发送请求。
自动化方案
我们直接写一段脚本,自动获取Token并设置到header中
pm.sendRequest({
url: "127.0.0.1:8080/api/rest/login",
method: 'POST',
header: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: {
mode: 'raw',
raw: '{"username":"admin","password":"123456"}'
}
}, function (err, res) {
// 提取 Response Body 中的 token 值, 并添加到 Headers 中
pm.request.headers.add({ key: 'Authorization', value: res.json().accessToken })
});
另外如果是想利用用户名、密码的变量,还可以写成:
pm.sendRequest({
url: "https://{your url to get token}",
method: 'POST',
header: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: {
mode: 'raw',
raw: JSON.stringify({ username: "username", password: "password" })
}
}, function (err, res) {
// 提取 Response Body 中的 token 值, 并添加到 Headers 中
pm.request.headers.add({ key: 'Token', value: res.json().accessToken })
});