首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenApi 3.0 anyOf

OpenApi 3.0 anyOf
EN

Stack Overflow用户
提问于 2018-11-17 05:29:43
回答 2查看 994关注 0票数 1

我读过以前的帖子。查看条带OpenAPi3.0模型。这是一小段代码。应用程序类型是什么?它是在递归引用自己吗?x-expansionResources是一个供应商扩展。

代码语言:javascript
复制
 "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"
            }
          ]
        }
      },
      ...
EN

回答 2

Stack Overflow用户

发布于 2018-11-17 06:11:57

在此示例中,application属性的值可以是:

  • 最多5000个字符的字符串(“创建费用的连接应用程序的ID”)
  • application的一个实例

在条带术语中,application是一个expandable属性。可展开属性可以包含关联对象的ID,也可以包含完整对象。这就是他们的x-expansionResources扩展所表明的。

从技术上讲,本例中的anyOf可以替换为oneOf。子模式具有完全不同的类型(type: stringtype: object),因此anyOfoneOf都可以工作。(oneOf表示“只匹配一个子模式”,anyOf表示“匹配一个或多个子模式”。)

票数 1
EN

Stack Overflow用户

发布于 2018-11-17 06:07:08

在查看测试数据之后,它们要么发送一个id(字符串),要么发送一个类。extensionResource告诉它oneOf类。在这个例子中,只有一个。我不明白为什么这个模型一开始就不使用oneOf?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53345667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档