oneOf
、anyOf
、allOf
を使えば、異なる入力タイプに対応する API や、複数のスキーマを組み合わせて包括的なデータモデルを構築する API を表現できます。
oneOf
, anyOf
, allOf
キーワード
allOf
: 複数のスキーマを結合します(オブジェクトのマージやベーススキーマの拡張など)。and
演算子のように機能します。anyOf
: 提供されたスキーマのいずれかに合致するデータを受け入れます。or
演算子のように機能します。oneOf
: 提供されたスキーマのうちちょうど1つに合致するデータを受け入れます。exclusive-or
演算子のように機能します。
Mintlify では、実務上の違いが API の利用に影響することはまれなため、
oneOf
と anyOf
を同等に扱います。not
キーワードは現在サポートされていません。allOf
を使ったスキーマの結合
allOf
を使用すると、Mintlify は複雑な組み合わせを読みやすく表示するために OpenAPI ドキュメントに対して前処理を行います。たとえば、2つのオブジェクトスキーマを allOf
で結合すると、Mintlify は両方のプロパティを1つのオブジェクトにまとめます。これは、OpenAPI の再利用可能なcomponentsを活用する際に特に有用です。
oneOf
と anyOf
で選択肢を提供する
oneOf
または anyOf
を使用すると、選択肢はタブ付きコンテナで表示されます。各サブスキーマに title
フィールドを指定して、選択肢に名前を付けてください。たとえば、次のように2種類の配送先住所を表示できます。