当你的 API 接受多种数据格式、包含条件字段或采用继承模式时,OpenAPI 的 schema 组合关键字可帮助你为这些灵活的结构编写文档。通过Documentation Index
Fetch the complete documentation index at: https://www.mintlify.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
oneOf、anyOf 和 allOf,你可以描述既能处理不同输入类型、又能将多个 schema 组合成完整数据模型的 API。
oneOf, anyOf, allOf 关键字
allOf:将多个 schema 组合在一起(如合并对象或扩展基础 schema),相当于and运算符。anyOf:接受与任一提供的 schema 匹配的数据,相当于or运算符。oneOf:接受与提供的 schema 中恰好一个匹配的数据,相当于exclusive-or运算符。
not 关键字目前不受支持。使用 allOf 组合模式(schema)
allOf 时,Mintlify 会对你的 OpenAPI 文档进行预处理,以更易读的方式展示复杂的组合。例如,当你用 allOf 合并两个对象模式(schema)时,Mintlify 会将两者的属性合并到一个对象中。这在利用 OpenAPI 的可复用组件时尤其有用。
使用 oneOf 和 anyOf 提供选项
oneOf 或 anyOf 时,这些选项显示在一个带标签页的容器中。在每个子模式中指定一个 title 字段,为你的选项命名。例如,你可以这样展示两种不同类型的收货地址: