Mockoon 通过多个 body 值过滤数据桶

问题描述 投票:0回答:1

我正在尝试使用 Mockoon 模拟 HHTP 发布请求/响应。 该请求发送一个 ID 列表,如下所示:

{
    "ids": [
        "d29688fee0d24ed9889f1d1d17062166", 
        "635a9e8cdaf340bc97c5608193eca946", 
        "f552e60b010641eba01ea33e2acf9bfd"
    ]
}

然后我需要在 Mockoon 中根据通过请求发送的所有 ID 来过滤现有的数据桶。

我可以通过一个 ID 手动过滤它,如下所示:

{{{ stringify (
  filter (dataRaw 'accounts')
  (object id = 'd29688fee0d24ed9889f1d1d17062166')
) }}}

或多个:

{{{ stringify (
  filter (dataRaw 'accounts')
  (object id = 'd29688fee0d24ed9889f1d1d17062166')
  (object id = '635a9e8cdaf340bc97c5608193eca946')
) }}}

但我根本不知道如何迭代传入的 ID 并应用过滤。

我唯一能实现的就是在正文中的数组上使用

each
并手动添加逗号并将结果作为数组括在方括号中:

[
  {{#each (bodyRaw 'ids')}}
    {{{ stringify (
      oneOf (filter (dataRaw 'accounts') (object id = this ) ) 
    ) }}}
    {{#unless @last}},{{/unless}}
  {{/each}}
]

它正在工作,但我想应该有一种更优雅的方式来实现它。

谢谢

mocking handlebarshelper
1个回答
0
投票

目前没有其他办法。我们需要更多的数组助手,比如

includes
来迭代数据桶数组。

在 v5.0.0 中,dataRaw 帮助程序将内置对 JSONPath 的支持。这将允许您构建更复杂的查找路径,因为 JSONPath 支持过滤。 当与CRUD路由一起使用时,我们还将添加数据桶过滤,查询参数:GET /users?id=xxxx,这也可能有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.