环境管理
一个项目在不同的阶段会处于不同的环境,例如存在开发环境、测试环境、生产环境等,这些环境对应着不同的“前置 URL”与“接口参数值”。显而易见的是,当项目随着进度推进而环境发生变动时,频繁地修改接口地址中的前缀 URL 及反复配置参数对于接口调试工作而言十分繁琐。
环境管理
你可以在左侧新建或删除环境,右侧可以对某个环境进行编辑。
切换调试环境
Apifox 的“环境管理”功能将有效解决因环境变更而产生的问题。你只需要提前为每个环境配置对应的前置 URL 及参数,在实际的接口调试工作中简单切换环境即可便捷调整各个接口的实际请求路径。
配置调试环境
点击页面右上角环境下拉框中的“管理环境”选项进入环境管理页。
Apifox 默认提供正式环境、开发环境、测试环境、本地 Mock 与云端 Mock。每个环境中包含服务(前置 URL)、环境变量、参数三项可配置项。
前置 URL
发起接口请求时,前置 URL 将自动添加至接口路径前并组合成接口的最终请求的 URL。
例如在正式环境中设置的前置 URL 为 https://www.api.com
,接口路径为 /pets/123
,那么实际发送的接口请求 URL 将被自动组合为: https://www.api.com/pets/123
。
- 前置 URL 末尾建议不要加上斜杠
/
,设计接口时建议在 接口路径 中以斜杠/
起始。 - 如果
接口路径
本身就以http://
或https://
起始,实际发出请求时将自动过滤前置 URL 值。因此不建议在接口路径中手动写入前缀 URL。 - 不建议在同一个环境中添加多条前置 URL。
- 自定义脚本可通过
pm.request.getBaseUrl()
获取当前运行环境选择的的前置 URL
。
环境变量
下文将用一个示例说明如何使用环境变量。在“测试环境”中添加一个名为my_variable
的变量,并将本地值
设置值为hello
后点击保存。
在某个接口中的参数值内输入 {{my_variable}}
,并选择“测试环境”作为当前运行环境。点击“发送”按钮后,系统会自动将 {{my_variable}}
替换为 hello
后发送接口请求。
- 系统内置了一个名为
BASE_URL
的特殊环境变量,其值为当前环境“默认服务”的前置 URL,正常情况不推荐使用。 - 自定义脚本建议使用
pm.request.getBaseUrl()
获取当前接口的前置 URL。不要使用pm.environment.get('BASE_URL')
,因为如果接口用的不是“默认服务”,读取到的BASE_URL
将不是当前接口的“前置 URL”。 - 如用户手动添加了名为
BASE_URL
的环境变量,则会覆盖掉系统内置BASE_URL
的值。 - 脚本不能修改前置 URL,脚本
pm.environment.set('BASE_URL','xxx')
会生成一个真正的名为BASE_URL
的“环境变量”,而不会修改“前置 URL”。
额外参数
当前环境下,给所有接口请求额外加上参数,例如鉴权 token 等参数。额外参数的参数值可以直接引用已设置的环境变量。
服务(前置 URL)
大多数情况都不需要添加多个“服务”。当且仅当在同一“环境”下,多个接口使用不同的“前置 URL”时,才需要添加多个服务。
在这种场景下,每个服务设置不同 “前置 URL”,不同接口或分组选择不同 “服务”即可。
服务和环境的区别
使用场景示例:
环境:
开发环境
测试环境
预发布环境
正式环境
服务:
用户服务(user.xxx.com):登录等接口
交易服务(trade.xxx.com):交易相关接口
直播服务(live.xxx.com):直播相关接口
设置服务
在环境管理
页面,可以填入所需要的前置 URL
。
使用服务
- 在目录设置中,可以设置当前环境下的不同服务。(推荐使用)
- 在接口文档-修改文档中,可以设置当前环境下的不同服务。