Postman 可视化:我可以创建条件语句吗?
Postman visualization: Can I create conditional statements?
我正在使用邮递员从 API 返回 JSON 正文。我正在使用 Postman 的可视化功能来创建一个模板来组织和循环遍历数据。 https://learning.postman.com/docs/sending-requests/visualizer/
问题:我可以创建条件语句吗?测试某些元素的值?车把功能似乎不起作用。
示例:
{{#each response}} {{#if name = 'abc'}}
<td>ABC</td>
{{else}}
<td>{{name}}</td>
{{/if}} {{/each}}
谢谢!
您可以使用 if
块,但不太像那样,因为语法略有不同。您可以在此处找到有关这些工作原理的更多信息:
https://handlebarsjs.com/guide/builtin-helpers.html
You can use the if helper to conditionally render a block. If its argument returns false, undefined, null, "", 0, or [], Handlebars will not render the block
只是添加到 Dannys 的回答中:
https://github.com/postmanlabs/postman-app-support/issues/7373#issuecomment-601402891
目前不支持自定义助手,因此您必须在脚本中执行 if 逻辑:
示例:
https://www.getpostman.com/collections/d3a91ce456800d061156
您可以通过在 postman 中单击导入 link 来导入此集合
解释:
设置获取 url 为:
https://reqres.in/api/users?page=2
测试脚本为:
template = `<table bgcolor="#FFFFFF">
<tr>
<th>Name</th>
<th>Email</th>
</tr>
{{#each response}}
{{#if George}}
<tr>
<td>Found george</td>
<td>{{email}}</td>
</tr>
{{/if}}
{{/each}}
</table>
`;
data =pm.response.json().data
data.map((a)=> a[a.first_name]=true)
// Set visualizer
pm.visualizer.set(template, {
// Pass the response body parsed as JSON as `data`
response: data
});
如果您阅读了把手文档:
https://handlebarsjs.com/guide/builtin-helpers.html
You can use the if helper to conditionally render a block. If its
argument returns false, undefined, null, "", 0, or [], Handlebars will
not render the block.
所以我们在这里破解这种行为,我在数据对象中创建一个与我正在检查的值同名的键
如果该值不存在,则该元素将是未定义的,否则它将通过。
我正在使用邮递员从 API 返回 JSON 正文。我正在使用 Postman 的可视化功能来创建一个模板来组织和循环遍历数据。 https://learning.postman.com/docs/sending-requests/visualizer/
问题:我可以创建条件语句吗?测试某些元素的值?车把功能似乎不起作用。
示例:
{{#each response}} {{#if name = 'abc'}}
<td>ABC</td>
{{else}}
<td>{{name}}</td>
{{/if}} {{/each}}
谢谢!
您可以使用 if
块,但不太像那样,因为语法略有不同。您可以在此处找到有关这些工作原理的更多信息:
https://handlebarsjs.com/guide/builtin-helpers.html
You can use the if helper to conditionally render a block. If its argument returns false, undefined, null, "", 0, or [], Handlebars will not render the block
只是添加到 Dannys 的回答中:
https://github.com/postmanlabs/postman-app-support/issues/7373#issuecomment-601402891
目前不支持自定义助手,因此您必须在脚本中执行 if 逻辑:
示例:
https://www.getpostman.com/collections/d3a91ce456800d061156
您可以通过在 postman 中单击导入 link 来导入此集合
解释:
设置获取 url 为:
https://reqres.in/api/users?page=2
测试脚本为:
template = `<table bgcolor="#FFFFFF">
<tr>
<th>Name</th>
<th>Email</th>
</tr>
{{#each response}}
{{#if George}}
<tr>
<td>Found george</td>
<td>{{email}}</td>
</tr>
{{/if}}
{{/each}}
</table>
`;
data =pm.response.json().data
data.map((a)=> a[a.first_name]=true)
// Set visualizer
pm.visualizer.set(template, {
// Pass the response body parsed as JSON as `data`
response: data
});
如果您阅读了把手文档:
https://handlebarsjs.com/guide/builtin-helpers.html
You can use the if helper to conditionally render a block. If its argument returns false, undefined, null, "", 0, or [], Handlebars will not render the block.
所以我们在这里破解这种行为,我在数据对象中创建一个与我正在检查的值同名的键
如果该值不存在,则该元素将是未定义的,否则它将通过。