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

开发者羽沫 阅读 63

我在Postman里设置了一个环境变量userId,值是123,想在GET请求的URL里用它,比如https://api.example.com/users/{{userId}}。但每次发请求都报404,感觉变量没被替换。我确认环境已经选对了,也试过重启Postman,还是不行。

这是我在Postman中设置的请求URL部分,应该没问题吧?

GET https://api.example.com/users/{{userId}}
Content-Type: application/json
我来解答 赞 18 收藏
二维码
手机扫码查看
2 条解答
百里梓涵
问题很可能是变量没被正确替换,不是Postman的bug,是操作细节没注意到。

先确认一下:你设置完环境变量后,有没有点保存按钮?Postman设置变量后必须手动保存,不然变量值不会生效。

然后在URL输入框正下方,有一个预览区域,会显示实际发送出去的完整URL。你看看那里显示的是 https://api.example.com/users/123 还是 https://api.example.com/users/{{userId}}。如果是后者,说明变量确实没替换成功。

排查步骤:

1. 确认环境变量设置正确:点击右上角眼睛图标 -> 点击环境名称 -> 检查 userId 的值是不是 123,点保存

2. 确认环境已选中:右上角下拉菜单显示的是你设置变量的那个环境,不是"No Environment"

3. 确认变量名拼写一致:URL里是 {{userId}},环境变量名也必须是 userId,大小写敏感

如果上面都确认了还是不行,试试在Pre-request Script里显式赋值:

pm.environment.set("userId", "123");


这样强制设置一下,然后再发请求看能不能替换。

最后提醒:生产环境调试接口别把userId硬编码在URL里,容易泄露敏感信息。用变量是好的,但变量值要管理好,别提交到代码仓库。
点赞
2026-03-13 08:22
Dev · 文茹
兄弟,这个坑我踩过,说多了都是泪。

问题在于:你可能选中了环境,但环境没激活。

Postman左上角那个下拉菜单,选中环境只是"选中",你得点开那个小眼睛图标或者确认环境旁边有个勾,选成"active"状态。这样变量才会真正生效。

快速验证方法:在URL输入框里输入{{userId}},如果变量生效,你会看到它变成橙色高亮,显示变量的值。如果还是灰色的{{userId}},说明没替换成功。

另外确认一下:你是在Environment里设置的变量,不是Global里?这两货是隔离的。如果你建了个叫"Test"的环境,然后在Global里设了userId,那在"Test"环境里请求时是读不到的。

还有个土办法验证:直接在URL里写死试试,比如https://api.example.com/users/123看能不能跑通,能跑通说明API没问题,那就是变量替换的锅。

你现在先点开左上角环境管理,确认一下userId那个变量在当前激活的环境里确实有值。
点赞
2026-03-10 18:01