Postman解决token传参问题

问题描述:

有一个登陆接口获取token,其他接口再次访问都要带上token

解决方案:

1、在登陆接口访问后设置Postman的环境变量(Environment),例如设置环境变量名:token,值为登陆接口访问成功后,在responseBody中的token值,如何设置请看下面具体描述。
2、访问其他接口时token值直接读取变量即可。Postman里面获取变量的语法为:{{变量名}}

具体步骤:

1、登陆接口介绍
如图所示,login接口返回值JSON格式大体为:
{
    "status": 0,
    "message": "成功",
    "data": {
        "username": "cams_admin_dev",
        "token": "eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE1MTYzNDIxMjAsInN1YiI6ImNhbXNfYWRtaW5fZGV2IiwiY3JlYXRlZCI6MTUxNjI1NTcyMDU0NywiZnVsbCI6ImNhbXNfYWRtaW5fZGV2IiwidWF1dGgiOiIvKio7QUxMIiwiYXV0aCI6InNldHRpbmdzLGNhbXNfYWRtaW4saW5kdXN0cnksYm9uZCxjYW1zSG9tZSxjb21wYW55LGFyZWEsZGV0YWlscyxjYW1zT3BlcmF0aW9uIn0.pI09X8KNoIK0fb6xC1xbrSZyg-EnUnlZ_9shmOQCRDtdIIEA5iyq3HmzgSx0ReaChEAZxkrrSRTtSXE8ZlbCTw"
    }
}
返回值中有token值, 这个值怎么在访问login接口后自动设置为Postman环境变量呢?
2、在访问login接口后自动设置为Postman环境变量
在Postman软件的Tests中写以下代码,设置环境变量
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

// 把responseBody转为json字符串
var data = JSON.parse(responseBody);
// 设置环境变量token,供后面的接口引用
pm.environment.set("token", data.data.token);
如下图所示:
点击Send按钮发送请求后,就可以动态设置环境变量名为token,值为token值的变量。
设置成功后,点击那个眼睛图标,查看变量如图所示:

3、访问其他接口,环境变量token
如图红色标注的所示
1、另一个接口
2、TYPE中选择token的类型,我这里用到的是 Bearer Token
3、右边红色标注的部分设置token值,格式为:{{token}},获取前面login接口访问时动态设置的token,
那么这个接口就可以用了

点击Send会访问成功。

没有更多推荐了,返回首页