宏变量
宏变量
宏变量是一种可在多个 API 请求中复用的动态值配置机制。它支持全局变量、环境变量、临时变量和系统变量四种类型,每种类型都有其特定的作用域和优先级。通过宏变量,开发者可以:
在不同接口间共享和重用配置值
根据不同环境自动切换配置
处理接口间的数据传递
自动获取系统上下文信息
开发者只需要更改一次变量值,就能同步修改所有引用了该变量的 API 请求,显著提升 API 请求的管理和测试效率。
变量类型
全局变量
在当前空间下的所有 API 请求中通用的变量。通过统一管理这些变量,可以在多个 API 请求中重复使用相同的值,并且只需修改一次变量值即可同步更新所有引用该变量的 API 请求。全局变量支持加密存储,适用于管理 token、公共参数等需要在多个 API 请求中复用的值。
作用范围:全局变量配置后可以在当前空间下的所有 API 请求中使用。
应用场景:
适用于需要在多个 API 中重复使用的值。
只需修改一次变量值,就能同步更新所有引用该变量的 API 请求。
可以用在请求参数、请求头、请求体等多个位置。
主要优势:可以提高 API 请求管理的效率,避免重复修改相同的值,特别适合管理一些在多个 API 请求中经常使用的公共参数。
环境变量
用于管理项目在不同环境(如开发环境、测试环境、生产环境)下的配置信息。每个环境可以设置不同的前置 URL 和参数值,支持加密存储敏感信息。通过环境变量,可以在不修改 API 请求配置的情况下,快速切换不同环境的配置,便于 API 请求测试和部署。
作用范围: API 请求所在的集合
应用场景:
适用于项目在不同阶段(开发环境、测试环境、生产环境等)的配置管理
主要用于管理不同环境的前置 URL 和参数值
主要优势:能够有效管理不同环境的配置差异,提高了 API 请求的测试和部署效率。
系统变量
系统内置的用户上下文变量,用于自动获取当前登录用户的相关信息(如用户 ID、用户名、账号、手机号、邮箱、用户组等)。系统变量具有最高的优先级,在 API 请求执行时会自动填充相应的值,无需手动设置。
应用场景:
- 主要用于根据当前登录人查询相关数据的场景。
主要优势:是自动化和标准化,能够在不同的 API 请求中统一使用当前登录用户的信息,提高开发效率和安全性。
临时变量
在 API 请求执行后通过后置操作创建的变量,仅在当前集合的请求中有效。临时变量通常用于存储接口返回的动态值。临时变量变量值的有效期通过后置操作进行控制。
作用范围:当前集合的请求中有效。
特点:
可以通过 JSONPath 表达式提取需要的值。
值可以根据 API 请求执行结果动态更新。
支持设置变量的有效时限。
可以存储任意类型的返回值。
变量的优先级
当不同类型变量存在相同名称的变量时,系统会根据优先级决定使用哪个类型的变量。
变量优先级:系统变量
> 临时变量
> 环境变量
> 全局变量
。
例如:
全局变量存在变量名
username
的值为张三
环境变量存在同名变量名
username
,值为李四
API 请求所在的集合选择了上述环境变量,则 API 请求中使用
{{username}}
变量时,实际请求值为李四
变量的使用方式
所有类型的变量都是通过在变量名的前后各加上两个大括号的方式进行使用,例如 {{token}}
。实际请求时,将根据变量名对应的值进行接口请求
param、header、body form-data
可将变量配置在参数值
中
body raw
可在json
中任意位置使用。API 请求执行时,会根据变量实际值替换 raw 中引用的变量。json 格式里 string 类型的值,使用变量的时候需要加上双引用,数值类型的值不要加双引号。
{
"key1":"{{string}}",
"key2": {{int}},
"key3": {{timestamp}}
}
认证 Bearer auth
可将变量配置在token值
中
认证 Basic auth
可将变量配置在username
值、password
值
接口地址
在接口地址中可使用路径参数
示例
接口地址中的
{method}
为路径参数Params 中的
{{param1}}
为引用的变量。Params 中的
{{type}}
为引用的变量。
