我正在尝试使用 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}}
]
它正在工作,但我想应该有一种更优雅的方式来实现它。
谢谢
目前没有其他办法。我们需要更多的数组助手,比如
includes
来迭代数据桶数组。
在 v5.0.0 中,dataRaw 帮助程序将内置对 JSONPath 的支持。这将允许您构建更复杂的查找路径,因为 JSONPath 支持过滤。 当与CRUD路由一起使用时,我们还将添加数据桶过滤,查询参数:GET /users?id=xxxx,这也可能有帮助。