在 Postman 中传递当前时间戳是一项常见的任务。你可以利用内置的{{$timestamp}}
变量来获取当前时间戳,并将其应用于请求路径中,从而实现时间戳的传递。此外,你还可以通过编写 JavaScript 脚本来获取当前时间戳,并将其存储到环境变量中,以便在请求中多次重复使用,详情见下文。
1.通过内置函数获取当前时间戳
在 Postman 中打开一个项目,然后选择一个请求。假设路径上有一个参数 timestamp
需要携带时间戳,那么你可以使用 Postman 提供的内置变量 {{$timestamp}}
,选择后发送请求,我们可以看到在控制台打印出了实际的请求路径,路径上携带了当前获取到的时间戳。
2.通过脚本获取当前时间戳
除了使用 Postman 的内置变量,你还可以通过脚本的方式获取,获取到时间戳后可将其存到环境变量或者全局变量中,最后在请求路径上引用该变量即可。
在脚本中,你可以使用Date
对象来获取。以下参考例子:
// 获取当前时间戳(以毫秒为单位)
let timestamp = new Date().getTime();
console.log(timestamp);
上述代码创建了一个Date
对象,然后使用getTime()
方法获取该对象的时间戳,返回的时间戳是从 1970 年 1 月 1 日午夜(UTC)开始的毫秒数。如果你想要秒级别的时间戳,可以使用Math.floor
或Math.round
:
// 获取当前时间戳(以秒为单位)
var timestampInSeconds = Math.floor(new Date().getTime() / 1000);
console.log(timestampInSeconds);
时间戳获取到之后,就可以将其存储到环境变量中,参考脚本:
let timestamp = new Date().getTime();
pm.environment.set('current_timestamp', timestamp);
如果你的环境中没有current_timestamp
这个字段,那么 Postman 会自动创建并赋值。
比 Postman 更好用的工具:Apifox
在 Apifox 中获取时间戳更加方便。如果你需要在请求中携带时间戳,那么可以通过【动态值】来直接获取。
在项目的接口请求参数的【示例值】那里,点击一个像“魔棒”的图标,然后依次点击【数据生成器->时间戳】,在发送请求时即可获取到当前时间的时间戳。
当然,你也可以通过脚本直接获取:
如果过需要对时间戳进行转换,也可以编写脚本,Apifox 中的脚本语法兼容 Postman,可以无缝切换过来。
或者还是通过可视化【动态值】的方式,直接生成。
总结
在 Postman 中传递当前时间戳有两种方法:一是使用内置变量{{$timestamp}}
,二是通过脚本获取并存储到环境变量。脚本可使用 Date 对象获取时间戳,或者通过 Apifox 的动态值直接获取。Apifox 提供了更便捷的方式来获取时间戳,并支持脚本转换。总之,Postman 和 Apifox 都提供了灵活方便的时间戳处理方式。
知识扩展: