Mockoon跨数据桶获取数据:解决dataRaw与oneOf返回异常问题
Mockoon数据桶数据获取及oneOf函数兼容问题
在Mockoon数据桶中使用dataRaw获取数据时,得到的是[object Object]数组;使用data虽能正常获取数据,但无法兼容oneOf这类数组辅助函数——dataRaw搭配oneOf返回[object Object],data搭配oneOf则返回null。请问如何获取实际值?
数据桶配置
addresstypes 数据桶
[ { "publicId": "{{guid}}", "title": "School" }, { "publicId": "{{guid}}", "title": "Shopcenter" }, { "publicId": "{{guid}}", "title": "Highway" }, { "publicId": "{{guid}}", "title": "Home" } ]
address 数据桶
[ {{# repeat 50}} { "publicId": "{{guid}}", "title": "{{lorem 3}}", "street":"{{street}}", "city": "{{city}}", "country":"{{country}} ({{countryCode}})", "zipcode":"{{zipcode}}", "postcode":"{{postcode}}", "lat":"{{lat}}", "long":"{{long}}", "type": {{oneOf (dataRaw 'addressetypes')}} } {{/repeat}} ]
环境信息
- Mockoon版本:3.1.0
- 系统/系统版本:Ubuntu 22.04.2 LTS
解决方法
修正数据桶名称拼写错误
你在address数据桶的type字段中,调用dataRaw时写的是addressetypes,但实际数据桶名称是addresstypes(少了一个s),这是核心错误。先将代码修正为:"type": {{oneOf (dataRaw 'addresstypes')}}data配合oneOf的正确用法
若使用data函数,修正拼写后直接传入oneOf即可,Mockoon会正确解析数组并返回随机元素:"type": {{oneOf (data 'addresstypes')}}保证JSON格式正确
oneOf返回的是对象,模板引擎会自动将其序列化为JSON字符串,无需额外添加引号,否则会导致JSON格式错误。
修正后,type字段会随机返回addresstypes数据桶中的一个完整对象,例如:
"type": {"publicId": "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv", "title": "School"}
内容的提问来源于stack exchange,提问作者ARiyou Jahan
相关产品推荐
相关产品推荐

