当前位置: 首页 > 知识库问答 >
问题:

anyOf:{$ref}在swagger JSON模式定义中

晁绍辉
2023-03-14

我尝试使用swagger来描述JSON API。到目前为止,它看起来不错,但我无法弄清楚如何使用anyOf结构在JSON答案中定义不同对象类型的数组。

以下JSOn模式是有效的,它应该描述一组文章和视频JSON对象:

{
"Article":{
  "id":"Article",
  "required": ["title"],
  "properties":{
    "title":{
      "type":"string",
      "description": "Title of the article"
    }
  }
},

"Video":{
  "id":"Video",
  "required": ["title"],
  "properties":{
    "title":{
      "type":"string",
      "description": "Title of the video"
    }
  }
},

"News":{
  "id":"News",
  "required": ["instance_data"],
  "properties":{
    "instance_data":{
        "anyOf":[
           { "$ref": "Article" },
           { "$ref": "Video" } ],
      "description": "News instance data"
    }
  }
}
}

有没有可能在摇摆不定中使这项工作发挥作用?

共有1个答案

燕烨
2023-03-14

需要明确的是:Swagger v2.0不支持以下任何一种。Reed more在这里:https://github.com/swagger-api/swagger-spec/issues/57

 类似资料:
  • 在通过 let 绑定来进行模式匹配或解构时,ref 关键字可用来接受结构体/元组的字段的引用。下面的例子展示了几个实例,可看到 ref 的作用: #[derive(Clone, Copy)] struct Point { x: i32, y: i32 } fn main() { let c = 'Q'; // 赋值语句中左边的 `ref` 关键字等价右边的 `&` 符号。

  • 我正在为一个api创建一个OpenAPI 3规范,该API具有需要某些属性的对象,对于某些属性,它们是任何对象。当我创建如下规范时,它会抛出一个错误,我无法修复。 Swagger编辑器给出了如下错误 - 在使用如下建议时 验证错误消失了,但swagger编辑器模式/模型视图未显示任何内容,如下所示 -

  • 问题内容: 我有一个JSON模式 我要在children属性中表示的是,它是具有相同精确模式的对象数组。这是描述它的正确方法吗? 问题答案: 使用您需要参考的架构 参见此处:http : //json-schema.org/latest/json-schema-core.html#anchor30

  • 本节引用了SQLAlchemy 模式元数据 一个描述和检查数据库模式的综合系统。 SQLAlchemy的查询和对象映射操作的核心支持 数据库元数据 ,它由描述表和其他模式级对象的python对象组成。这些对象是三种主要操作类型的核心-发出create和drop语句(称为 DDL ,构造SQL查询,并表示有关数据库中已经存在的结构的信息。 数据库元数据可以通过使用诸如 Table , Column

  • 试图学习JSON模式,我有一个复杂的模式,都是基于相对URL的。当嵌套属性调用另一个文件中定义的definitions属性时,验证有时会被忽略。 我的目标是基本上在全局范围内创建可重用的定义和经常使用的枚举/常量/定义 假设项目树为: 在intellij中,结果如下:(显示的每个属性都不应该是有效的,但有些属性只是被忽略和允许(如负数和空值等)。我没有收到关于$ref无法解析的警告/错误。自动完成

  • 我正在学习kafka connect的教程,我想知道是否有可能为数据来自MySql表的主题定义一个自定义的模式注册表。 我在我json/connect配置中找不到定义它的地方,而且我不想在创建模式后创建一个新版本。 我的MySql表称为站有这个模式 其中,属性包含 Json 数据而不是字符串(我必须使用该类型,因为属性的 Json 字段是可变的。 我的连接器是 并创建该模式 其中“属性”字段当然是