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.

所以我们在这里破解这种行为,我在数据对象中创建一个与我正在检查的值同名的键

如果该值不存在,则该元素将是未定义的,否则它将通过。