1. 概述

HTTP无状态接口在使用Bearer Token方式进行接口认证时,每次调用都要求在请求头中传递一个 token 值(例如 JWT),这个 token 一般通过调用登录接口获取。在通过登录页面调用登录接口获取 token 后会由客户端程序对 token 进行暂存,在后续调用业务接口时向接口传递该 token 即可。
Postman中,如果你只调用很少的接口,则可以先调用登录接口获取token,然后在接口的认证方式(Authorization)中选择Bearer Token,填入该token值即可。但是如果你在做测试,需要频繁调用大量接口,则每个接口都需要添加,并且当token过期后需要更新,很不方便。此时,可以借助Postman的变量(variables)功能,将从登录接口获取的token值保存为变量,在调用接口时Postman自动获取该变量值作为token传递给接口。下面介绍这种设置方式。

2. 确定token格式

假设你的登录接口为localhost:8080/login,首先传入登录信息调用该接口,查看返回的token格式:
在这里插入图片描述
上面接口返回的token值直接保存在JSON格式响应体的第一级,即responseBody.token

3. 将token设置为Collection变量

Postman变量 可以理解为保存在本地的接口信息,根据使用范围分为多种,常用的有 GlobalCollectionEnvironment

  • Global:适用于所有场景的变量
  • Collection:只在当前Collection有效的变量
  • Environment:不同环境使用不同变量

一般地,一个系统的接口可以创建一个Collection进行管理,那么可以将token设置为Collection变量。如何设置呢?
点击登录接口的Tests窗口,在编辑器中添加如下JavaScript脚本进行设置:

var res = JSON.parse(responseBody);
pm.collectionVariables.set("token", res.token);

在这里插入图片描述
这段代码将响应体转换为JSON数据,然后将token值设置为Collection变量collectionVariables,变量名就为token

代码添加后再次调用登录接口,使脚本生效
然后,在左侧Collection菜单中点击当前Collection名,再点击Variables,可以看到设置的变量信息,说明变量设置成功:
在这里插入图片描述

4. 认证中添加token变量

设置完以后就可以使用该变量。
还是在Collection界面,点击Authorization,选择认证Type为Bearer Token,在底下的Token中填入变量占位格式{{token}},即表示此处的值将引用变量token的值。
在这里插入图片描述

5. 在接口设置认证类型

现在该Collection下所有的接口都可以继承Collection的认证token了,只需要在这些接口的Authorization页面选择认证Type为Inherit auth from parent,即继承自父项,也就是Collection,但这一步一般无需特别设置,如果在第4步设置了Collection的认证token,则Postman默认会选继承该token,若不是该选项,则需单独设置。
在这里插入图片描述
设置完成后可直接调用接口,新加的接口也无需单独进行设置。
The End.


参考

[1] Postman说明文档:Using variables

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐