カスタムエンドポイントの作成
単一エンドポイントに加えて、Gato GraphQL はカスタムエンドポイントもサポートしています。カスタムスキーマ(利用可能なタイプのサブセットのみを含む)とユーザー検証ルールに基づいてデータの取得・送信が可能であり、さまざまなユーザーやアプリケーションのニーズに対応できます。
必要な数だけカスタムエンドポイントを作成できます。
たとえば、以下のようなカスタムエンドポイントを作成できます:
- 特定のクライアントやユーザー向け(
/graphql/my-client/) - より多くの機能にアクセスできるユーザーグループ向け(PROユーザーなど)(
/graphql/pro-users/) - モバイルアプリへのデータ提供用(
/graphql/mobile-app/) - サードパーティ API へのアクセス提供用(
/graphql/external-api/) - その他

アプリケーションからカスタムエンドポイントを実行する
ガイド「クライアントから GraphQL サーバーへの接続」の手順に従ってください。
すべてのカスタムエンドポイントにアクセスする
プラグインのメニューで「Custom Endpoints」をクリックすると、作成済みのカスタムエンドポイントの一覧が表示されます:

新しいカスタムエンドポイントを作成する
「Add New GraphQL endpoint」ボタンをクリックして WordPress エディターを開きます:

タイトルを付け、パーマリンクが希望どおりであることを確認し、スキーマ設定を選択してオプションを調整します。準備ができたら Publish ボタンをクリックすると、設定したパーマリンクをエンドポイント URL として使用するカスタムエンドポイントが作成されます。
エンドポイント(およびソースとクライアント)へのリンクは、「Custom Endpoint Overview」サイドバーパネルに表示されます:

スキーマ設定
スキーマに含まれる要素と、ユーザーがそれにアクセスできる範囲は、スキーマ設定で定義されます。
そのため、スキーマ設定を作成し、ドロップダウンから選択する必要があります(または「なし」もしくはデフォルトを使用):

プライベートエンドポイント
カスタムエンドポイントのステータスを private に設定することで、管理者ユーザーのみがエンドポイントにアクセスできるようになります。これにより、アクセス権を持つべきでないユーザーにデータが意図せず共有されることを防止できます。
たとえば、メトリクスのレポートを作成するためのデータ取得など、アプリケーション管理を支援するプライベートなカスタムエンドポイントを作成できます。

パスワード保護されたエンドポイント
特定のクライアント向けにカスタムエンドポイントを作成する場合、パスワードを割り当てることで、そのクライアントのみがエンドポイントにアクセスできるという追加のセキュリティレベルを提供できます。

パスワード保護されたエンドポイントに初めてアクセスする際(エンドポイントに直接アクセスする場合、またはその GraphiQL や Interactive Schema クライアントにアクセスする場合)、パスワードを要求する画面が表示されます:

パスワードが入力・検証されると、ユーザーは目的のエンドポイントまたはクライアントにアクセスできるようになります:

エンドポイント階層の作成
API 階層の作成の手順をお読みください。
カスタムエンドポイントの無効化
オプションで「Enabled」を false に設定すると、カスタムエンドポイントを無効にできます。
この機能は、カスタムエンドポイントを API 階層の一部として使用し、子カスタムエンドポイントに共通の動作を提供しつつ、自身は実行されない場合に便利です。
カスタムエンドポイントの説明を追加する
ドキュメント設定パネルの「Excerpt」フィールドを使用して、カスタムエンドポイントに説明を付けます。
詳細はガイド「API への説明の追加」をご確認ください。
エンドポイントクライアント
各カスタムエンドポイントには、操作用の専用クライアントセットがあります。
GraphiQL クライアント
エンドポイントに ?view=graphiql を追加すると、GraphiQL クライアントにアクセスできます:

GraphiQL クライアントは、カスタムエンドポイントの編集時に「Custom Endpoint Overview」サイドバーパネルからも開くことができます:

同様に、カスタムエンドポイントの一覧ページで、エントリーにカーソルを合わせたときに表示される「GraphiQL」リンクからクライアントを開くこともできます:

GraphiQL クライアントを無効にするには、カスタムエンドポイントエディターでオプション「Expose GraphiQL client?」を false に設定します。
Interactive Schema(Voyager)クライアント
エンドポイントに ?view=schema を追加すると、Interactive Schema クライアントにアクセスでき、エンドポイントのスキーマを視覚化して操作できます:

Interactive Schema クライアントは、カスタムエンドポイントの編集時に「Custom Endpoint Overview」サイドバーパネルからも開くことができます:

同様に、カスタムエンドポイントの一覧ページで、エントリーにカーソルを合わせたときに表示される「Interactive Schema」リンクからクライアントを開くこともできます:

Interactive Schema クライアントを無効にするには、カスタムエンドポイントエディターでオプション「Expose the Interactive Schema client?」を false に設定します。
公開前にエンドポイントをテストする
ステータスが draft(下書き)または pending(保留中)のカスタムエンドポイントは、スキーマエディターのユーザーのみが利用できます。これにより、以下の操作が可能になります:
- エンドポイントに対して GraphQL クエリを実行する
- エンドポイントの GraphiQL および Voyager クライアントにアクセスする
カスタムエンドポイントを作成し、スキーマ設定を割り当て、draft または pending として公開してテスト(例:アクセスコントロールルールが適切かどうかの確認)を行うことができます。
承認されたら、ステータスを publish に設定し、カスタムエンドポイントをすべてのユーザーが利用できるようにします。
ソースの表示
エンドポイントに ?view=source を追加すると、エンドポイントの設定が表示されます(ユーザーがログイン済みで、ユーザーロールがアクセス権を持っている場合):

WordPress エディターでの設定
エディター本体の入力項目は以下のとおりです:
| 入力項目 | 説明 |
|---|---|
| タイトル | カスタムエンドポイントのタイトル |
| スキーマ設定 | ドロップダウンから、カスタムエンドポイントに適用するスキーマ設定を選択するか、以下のオプションのいずれかを選択します:
|
| オプション | カスタムエンドポイントの動作をカスタマイズします:
|
ドキュメント設定の入力項目は以下のとおりです:
| 入力項目 | 説明 |
|---|---|
| パーマリンク | カスタムエンドポイントが利用可能になるエンドポイントのURL |
| カテゴリー | カスタムエンドポイントをカテゴリー分けできます。 例: mobile、app など |
| Excerpt | カスタムエンドポイントの説明を提供します。 この入力項目は、モジュール "Excerpt as Description" が有効な場合に利用可能 |
| ページ属性 | 親カスタムエンドポイントを選択します。 この入力項目は、モジュール "API Hierarchy" が有効な場合に利用可能 |