在软件/应用系统开发过程中,系统的好坏不仅取决于架构设计、可行性分析及功能实现,还需要一套完善的测试机制来保证质量,这往往需要变换场景进行多轮测试,以保证每个隐蔽的BUG都能够被发现。那就迫使在实际的开发中有多套测试环境,比如:一套稳定的测试环境,供系统内部系统调用;多套项目环境,并行开发;还需要有一个能模拟线上的测试环境,来模拟测试。
API网关作为系统内外的分水岭,当然也不会忽视对测试环境的支持。可以通过API网关的环境管理功能来实现测试环境的管理。目前每个API分组可以有两个环境:测试和线上(后续会开放多个,实现自助管理)。
您后端的测试和线上环境,最常见的是用不同的访问地址来区分的,如:test.demoDomain.com和api.demoDomain.com,或者api.demoDomain.com/test和api.demoDomain.com/api;
API网关,为避免用户测试、线上不停变化后端地址,增加环境级变量参数的来实现请求的自动路由。
环境级变量参数,即在每个环境中可以自定义公共常量参数。当用户发API调用时,可以在放置请求任意位置,传递给后端服务,以实现网关对请求的路由。
您可以将变量参数放至API的path/入参默认值/后端服务地址等位置,当API被发布到每个环境时,则会被替换为相应的value值。以实现不同环境不同后端服务地址的自动替换。
当然,测试环境也是有权限控制的,防止客户来访问测试环境。
使用方法
1. 添加环境变量
首先要有一个API分组,如果没有需要创建。
创建完成后,进入分组管理页面。菜单:“开放API-分组管理”
点击环境管理,新增环境变量。
如在测试环境的environment的value设置为:test.
在正式环境的value设置为:api.
2.在API定义中引用环境变量
您可以在API定义时,在Path、入参默认值、后端服务地址部分加入变量,以#变量名#表示,如后端服务地址为:https://#environment#demoDomain.com
3.调用不同环境的API
3.1正式环境
直接发起您的API调用,即调用测试环境。
3.2测试环境
您只需要在调用API时,在Header中增加入参X-Ca-Stage: TEST 即可访问测试环境的API。
4. 后端服务
API网关将会把用户请求翻译为,调用:test.demoDomain.com和api.DemoDomain.com