oneOf
、anyOf
和 allOf
,你可以描述既能处理不同输入类型,又能将多个模式组合成完整数据模型的 API。
oneOf
, anyOf
, allOf
关键字
allOf
:将多个 schema 组合在一起(如合并对象或扩展基础 schema),相当于and
运算符。anyOf
:接受与任一提供的 schema 匹配的数据,相当于or
运算符。oneOf
:接受与提供的 schema 中恰好一个匹配的数据,相当于exclusive-or
运算符。
Mintlify 对
oneOf
和 anyOf
采用相同的处理方式,因为它们在实际使用中很少对 API 产生影响。not
关键字目前不受支持。使用 allOf
组合模式(schema)
allOf
时,Mintlify 会对你的 OpenAPI 文档进行预处理,以更易读的方式展示复杂的组合。例如,当你用 allOf
合并两个对象模式(schema)时,Mintlify 会将两者的属性合并到一个对象中。这在利用 OpenAPI 的可复用组件时尤其有用。
使用 oneOf
和 anyOf
提供选项
oneOf
或 anyOf
时,这些选项会显示在一个带标签页的容器中。在每个子模式中指定一个 title
字段,为你的选项命名。例如,你可以这样展示两种不同类型的收货地址: