【问题标题】:Can Postman body parameter include a numeric environment variable?Postman 正文参数可以包含数字环境变量吗?
【发布时间】:2020-10-01 14:45:29
【问题描述】:

在邮递员请求json正文中,我想将一个变量设置为一个变量。

这适用于内置的 $timestamp,但我可以为其他数字做吗?

邮递员似乎总是将变量作为字符串编码发送。

例如,在预请求脚本中:

var lat = +pm.environment.get('lat');
lat = clat + 0.001;
console.log(lat);
pm.environment.set('lat',  Number.parseFloat(lat).toPrecision(5));

在体内:

{
  "unixTimeStamp":  {{$timestamp}}, //OK

  "lng":  145.123,   // OK

  "lat":  {{$lat}},   // Fails
}

这发送:

{
  "unixTimeStamp":  1521769729,

  "lng":  145.123,  

  "lat":  "-37",   // Web service rejects this field.
}

我相信数字总是被编码为字符串。

【问题讨论】:

    标签: postman


    【解决方案1】:

    变量名前面的$仅在少数地方用于内置动态变量。例如 $timestamp、$guid 和 $randomInt。

    Environment 文件中的每个值都存储为字符串,因此您需要以某种方式对其进行解析以获得所需的值。

    您可以使用parseInt(pm.environment.get('my_string') 将保存的字符串"100" 转换为请求中的数字100parseFloat,具体取决于您的需要。

    然后在请求正文中使用 "lat": {{lat}},

    【讨论】:

      猜你喜欢
      • 2019-05-15
      • 2018-11-14
      • 1970-01-01
      • 2020-04-26
      • 2012-03-30
      • 2015-09-04
      • 1970-01-01
      • 2012-09-10
      • 2023-04-03
      相关资源
      最近更新 更多