Postman里怎么用变量替换请求URL中的参数?

振岚 Dev 阅读 4

我在Postman里设置了一个环境变量base_url,值是https://api.example.com,但在请求URL里写成{{base_url}}/users却没生效,还是发到了原始字符串地址,这是为啥?

我确认环境已经选中了,也重启过Postman,变量名拼写也没错。是不是哪里配置漏了?

我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
上官爱静
你这问题我之前也踩过坑,大概率是以下几个原因:

第一,检查一下变量名前后有没有空格。这个最坑,肉眼看不出来,但Postman会把它当成不同的变量名。特别是从别的地方复制过来的时候容易带空格。

第二,确认环境变量的作用域。你看看是不是在Globals里建的变量而不是在选中的环境里。Postman的变量优先级是:局部变量 > 环境变量 > Globals。如果你Globals里有同名的空值或者错误值,会覆盖掉环境变量。

第三,试试在Pre-request Script里打印一下,确认变量确实存在:

console.log(pm.environment.get("base_url"));


打开Postman的Console(View -> Show Postman Console),看输出是不是undefined。如果是undefined说明变量根本没读到你选的环境里。

还有个常见情况,就是你虽然选中了环境,但那个环境里实际上没有这个变量。去环境编辑界面再确认一下,变量名和值是不是都在,别只建了个空壳环境。

如果上面都没问题,那就用Pre-request Script硬设一下,先把值缓存起来:

pm.environment.set("base_url", "https://api.example.com");


然后再发请求,这样肯定能用。

另外说一句,Postman这玩意儿有时候会抽风,变量解析延迟。你试试把URL输入框清空重新写一遍,或者新建一个请求测试,别在老的请求上死磕。
点赞
2026-03-02 15:14