我读过以前的帖子。查看条带OpenAPi3.0模型。这是一小段代码。应用程序类型是什么?它是在递归引用自己吗?x-expansionResources是一个供应商扩展。
"charge": {
"properties": {
"amount": {
"description": "A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) ",
"type": "integer"
},
"application": {
"anyOf": [
{
"maxLength": 5000,
"type": "string"
},
{
"$ref": "#/components/schemas/application"
}
],
"description": "ID of the Connect application that created the charge.",
"nullable": true,
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/application"
}
]
}
},
...发布于 2018-11-17 06:11:57
在此示例中,application属性的值可以是:
application的一个实例在条带术语中,application是一个expandable属性。可展开属性可以包含关联对象的ID,也可以包含完整对象。这就是他们的x-expansionResources扩展所表明的。
从技术上讲,本例中的anyOf可以替换为oneOf。子模式具有完全不同的类型(type: string和type: object),因此anyOf和oneOf都可以工作。(oneOf表示“只匹配一个子模式”,anyOf表示“匹配一个或多个子模式”。)
发布于 2018-11-17 06:07:08
在查看测试数据之后,它们要么发送一个id(字符串),要么发送一个类。extensionResource告诉它oneOf类。在这个例子中,只有一个。我不明白为什么这个模型一开始就不使用oneOf?
https://stackoverflow.com/questions/53345667
复制相似问题