f
如果创建的操作比(" $ ref":"创建")json文件。
如果它的更新比($ ref - "更新")json文件
答案 0 :(得分:2)
新版本的avro允许使用“ if” /“ then” /“ else”条件
答案 1 :(得分:1)
答案取决于您使用的草稿。
草案-04:
{
"oneOf": [
{
"operation": {
"type": "string",
"enum": ["create"]
},
"payload": {"$ref": "create"}
},
{
"operation": {
"type": "string",
"enum": ["update"]
},
"payload": {"$ref": "update"}
}
]
}
draft-06(注意"const"
代替单元素"enum"
):
{
"oneOf": [
{
"operation": {
"type": "string",
"const": "create"
},
"payload": {"$ref": "create"}
},
{
"operation": {
"type": "string",
"const": "update"
},
"payload": {"$ref": "update"}
}
]
}
draft-07(周一发布,尚未真正实施)介绍了"if"
/ "then"
/ "else"
,它提供了其他几种方法来做同样的事情。但我认为"oneOf"
在这种情况下非常清楚。