You need to enable JavaScript to run this app. Postman预请求脚本如何为pm.sendRequest的URL添加查询参数?
优惠活动
大模型
产品
解决方案
定价
更多

Postman预请求脚本如何为pm.sendRequest的URL添加查询参数?

Postman预请求脚本中为pm.sendRequest添加查询参数的正确实现

方案1:通过内置Url对象构建带参数的请求(最稳定、无编码问题的实现方式)

该方法完全规避手动拼接URL的格式错误,支持自动参数编码、自动处理参数分隔符,是Postman官方推荐的URL构建逻辑。

// 基于全局存储的基础域名初始化URL实例
const requestUrl = new pm.request.Url(pm.globals.get("base_url"));
// 拼接接口路径段
requestUrl.addPath(`${bankNum}/loans/${loan14}`);
// 批量追加查询参数,自动完成编码和格式适配
requestUrl.addQueryParams({
  // 替换为实际业务需要的查询参数键值对
  "grant_type": "client_credentials",
  "status": "ACTIVE"
});

pm.sendRequest({
  url: requestUrl.toString(),
  method: 'GET',
  header: {
    'Authorization': '********',
  },
}, function (err, response) {
  console.log(response.json());
});

方案2:在sendRequest配置项中直接传入query参数对象

pm.sendRequest的配置结构与Postman原生请求的配置完全对齐,无需手动拼接URL,直接传入query字段即可自动完成参数拼接。

pm.sendRequest({
  url: `${pm.globals.get("base_url")}${bankNum}/loans/${loan14}`,
  method: 'GET',
  header: {
    'Authorization': '********',
  },
  // 直接在此处定义查询参数,Postman会自动完成拼接逻辑
  query: {
    "grant_type": "client_credentials",
    "status": "ACTIVE"
  }
}, function (err, response) {
  console.log(response.json());
});

常见参数添加无效的原因

  • 手动拼接URL时,第一个查询参数前漏写?,导致参数被识别为路径的一部分,服务端无法读取
  • 参数值包含中文、空格、特殊符号时未做URL编码,导致请求在传输过程中被截断
  • 拼接URL时全局变量值本身末尾自带斜杠或多余字符,和手动加的参数分隔符冲突,导致参数解析失效

内容的提问来源于stack exchange,提问作者Kody Berry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.24 05:24:04