oneOf、anyOf 和 allOf,你可以描述能够处理不同输入类型,或将多个模式组合为完整数据模型的 API。
oneOf、anyOf、allOf 关键字
allOf:组合多个模式(类似合并对象或扩展基础模式),相当于and运算符。anyOf:接受与提供的任一模式匹配的数据,相当于or运算符。oneOf:仅接受与提供的模式中恰好一个匹配的数据,相当于“异或”运算符。
目前不支持
not 关键字。使用 allOf 组合模式
allOf 时,Mintlify 会对你的 OpenAPI 文档进行预处理,以更易读的方式展示复杂组合。例如,当你用 allOf 组合两个对象模式时,Mintlify 会将两者的属性合并为一个对象。这在利用 OpenAPI 的可复用组件时尤其有用。
object
使用 oneOf 和 anyOf 提供选项
oneOf 或 anyOf 时,选项会显示在带有选项卡的容器中。请在每个子架构中指定一个 title 字段,为这些选项命名。例如,下面展示了如何显示两种不同类型的收货地址: