【问题标题】:Postman visualization: Can I create conditional statements?Postman 可视化:我可以创建条件语句吗?
【发布时间】:2021-03-03 09:18:34
【问题描述】:

我正在使用邮递员从 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}}

谢谢!

【问题讨论】:

    标签: postman handlebars.js


    【解决方案1】:

    您可以使用if 块,但不完全一样,因为语法略有不同。您可以在此处找到有关这些工作原理的更多信息:

    https://handlebarsjs.com/guide/builtin-helpers.html

    您可以使用 if 助手有条件地渲染一个块。如果其参数返回 false、undefined、null、""、0 或 [],Handlebars 将不会渲染块

    【讨论】:

    • 我们已经尝试过,我相信,它确定在邮递员中有效吗?
    • 取决于你如何使用它,它就像你提到的那样没有。 ? 在我提供的链接上有一个如何使用它的示例。您还可以在沙箱中使用 JS,因此如果可以的话,您可以将两者结合起来。
    • 你基本上只是在处理响应数据,但是在模板中使用手栏来操作它,你可以在模板之外用纯 JS 做所有这些,然后在模板中使用它。跨度>
    【解决方案2】:

    只是添加到 Dannys 的答案:

    https://github.com/postmanlabs/postman-app-support/issues/7373#issuecomment-601402891

    目前不支持自定义助手,因此您必须在脚本中执行 if 逻辑:

    示例:

    https://www.getpostman.com/collections/d3a91ce456800d061156

    您可以通过点击邮递员中的导入链接来导入此收藏

    解释:

    设置获取网址为:

    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

    您可以使用 if 助手有条件地渲染一个块。如果它是 参数返回 false、undefined、null、""、0 或 [],Handlebars 将 不渲染方块。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多