postman - 是否可以在不编写预请求脚本的情况下重用动态变量值
问题描述
我有一个接受 json 的请求。在请求正文中,我想使用相同的动态变量两次。例如:
{
"description": "{{$randomFirstName}}'s Home",
"first_name": "{{$randomFirstName}}",
"first_name": "{{$randomLastName}}",
"more_fields": "..."
}
然而,当我希望值相同时,简单地重复上面的变量会导致描述和名字字段的名字不同。
我怎样才能做到这一点。我认为在预请求脚本中应该是可能的,但如果有某种方式可以做相当于
{
"description": "{{firstName=$randomFirstName}}'s Home",
"first_name": "{{firstName}}",
"first_name": "{{$randomLastName}}",
"more_fields": "..."
}
无需打扰预请求脚本,我可能更喜欢那个。
解决方案
您可以通过使用.replaceIn()函数并在沙盒环境中构造请求正文来实现此目的。
将此添加到Pre-request Script
POST 请求中:
let firstName = pm.variables.replaceIn("{{$randomFirstName}}")
let requestBody = {
"description": `${firstName}'s Home`,
"first_name": `${firstName}`,
"last_name": "{{$randomLastName}}",
"more_fields": "..."
};
pm.variables.set("requestBody", JSON.stringify(requestBody));
在请求正文中,添加不带引号的变量:
{{requestBody}}
当您发送请求时,它将解析变量并使用相同的名字。
这是使用 Postman-echo 服务的示例:
推荐阅读
- c - 如果我在带有 SIGTERM 的 kill() 之后使用 waitpid(),则我的程序不会像预期的那样运行。但是如果我不使用waitpid(),它会起作用吗?
- github - Azure Pipelines 和 Github 之间集成所需的权限
- android - 以编程方式取消子通知时,通知组的摘要不会自动关闭
- reactjs - 如何在 Reactjs 中通过控制台输出
- javascript - processing/p5.js — 每当我增加单元格数量时,二维网格都会缩小
- c++ - Node-ffi:在 js 中加载 C++ dll(具有外部依赖项)正在崩溃
- arrays - HIVE DB 关于如何做阵列
- angular - 本地项目中的本地 Angular 库
- c# - 如何从属性中获取构造函数命名参数
- java - Html 解析器通过保留原始 html 标记和换行符来替换 html 文档中的超链接