Openapi 3.0:如果架构具有单一属性,“allOf”是否会要求架构的属性?

问题描述

我在 openApi 3.0 的“组件”部分定义了以下架构:

schema1:
   required:
      - prop1
      - prop2
      - prop3
   properties:
      prop1
      prop2
      prop3
schema2:
   required:
      - prop4
      - prop5
      - prop6
   properties:
      prop4
      prop5
      prop6

现在有另一个模式对上述 2 个模式执行 'anyOf' 操作

schema3:
   anyOf:
     - $ref: '#/components/schema1'
     - $ref: '#/components/schema2'

而且我有一个具有单个属性的架构

schema4:
   properties:
      prop7

现在我的问题是,如果我在 schema5 中对 schema3 和 schema4 执行 allOf 那么 property7 会成为必需的属性吗?如果是,那么如何在 schema5 中保持 property7 可选。

Schema5 为:

schema5:
   allOf:
     - $ref: '#/components/schema3'
     - $ref: '#/components/schema4'

解决方法

property7 会成为必需属性吗?

否 - 因为 property7 未列在您架构的任何位置的 required 列表中。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...