Mockoon:如何在someOf数组中执行helper functions
解决Mockoon someOf数组中Helper函数不执行的问题
问题出在你把包含helper函数的JSON结构用单引号包裹成了字符串——Mockoon的模板引擎只会解析顶层的{{}}语法,字符串内部的{{date}}、{{int}}这类helper会被当作普通文本输出,不会执行。
直接修改成对象数组传入array函数即可,Mockoon支持直接处理对象数组,内部的helper函数就能正常解析执行了:
"Attrs": { {{someOf (array {"Attr1": {"DC": {{date '1970-01-01' '2024-05-08' "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"}}, "DM": {{date '1970-01-01' '2024-05-08' "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"}}, "ID": {{int 000 999}}, "Short": {{int 000 999}}, "Value": {{lorem 1}}} {"Attr2": {"DC": {{date '1970-01-01' '2024-05-08' "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"}}, "DM": {{date '1970-01-01' '2024-05-08' "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"}}, "ID": {{int 000 999}}, "Short": {{int 000 999}}, "Value": {{lorem 1}}} ) 1 2}} },
修改说明:
- 去掉了每个对象外层的单引号,让
array直接接收JSON对象而非字符串 - 移除了对象内部的转义双引号(
"),改用普通双引号,符合Mockoon模板的语法要求 - 原
Attr2里的Short: "{{int 000 999}}"也改成了Short: {{int 000 999}},避免把helper输出变成字符串类型(如果需要字符串类型可以保留引号,但内部的{{}}仍能正常执行)
内容的提问来源于stack exchange,提问作者Fr4sha
相关产品推荐
相关产品推荐

