APIの作成
APIの作成API階層の作成

API階層の作成

カスタムエンドポイントとパーシストクエリは階層構造に整理できます。親を宣言することで実現され、その場合エンドポイントパスは親のエンドポイントパスを拡張します。

例えば、次のような階層を作成できます:

  • 親パーシストクエリ: /graphql-query/posts/
  • 子パーシストクエリ: /graphql-query/posts/english/
  • 子パーシストクエリ: /graphql-query/posts/french/

階層のレベル数は無制限であるため、次のような構造も作成できます:

  • /graphql-query/posts/
  • /graphql-query/posts/mobile-app/
  • /graphql-query/posts/mobile-app/english/
  • /graphql-query/posts/mobile-app/french/
  • /graphql-query/posts/website/
  • /graphql-query/posts/website/english/
  • /graphql-query/posts/website/french/

ガイド API階層の戦略 を参照して、可能な設定を確認してください。

プロパティの継承

子のカスタムエンドポイントとパーシストクエリは、親からプロパティを継承します。

カスタムエンドポイントとパーシストクエリ

子のカスタムエンドポイントとパーシストクエリは、親のスキーマ設定を継承します。

パーシストクエリのみ

子のパーシストクエリは、親のGraphQLクエリと変数も継承します。変数の値は、変数ごとに子でオーバーライドできます。

例えば、親が次の変数を宣言している場合:

{
  "limit": 5,
  "offset": 0
}

子が次の変数を宣言している場合:

{
  "limit": 10
}

子の計算済み変数は次のようになります:

{
  "limit": 10,
  "offset": 0
}

API階層の作成

カスタムエンドポイントまたはパーシストクエリのドキュメント設定には、Page Attributes セクションがあり、他のすべてのエンティティのドロップダウンから親として選択できます:

API継承

パーシストクエリ

親を選択すると、パーシストクエリに新しいオプション「Inherit query from ancestor(s)?」が表示されます。

このオプションを Yes に設定すると、子のパーシストクエリが親のGraphQLクエリを継承します:

API継承

このパーシストクエリはGraphQLクエリを定義し、変数 $limit を値 1 で宣言しています:

親パーシストクエリ

子のパーシストクエリがそれを拡張し、GraphQLクエリを継承しつつ、変数 $limit の値を 2 にオーバーライドしています:

子パーシストクエリ