概要
以下は、GraphQL API v4を使い始めるためのクイックリンクです。
GraphQLについて
GraphQLデータクエリ言語は、
-
仕様です。この仕様は、APIサーバー上のスキーマの正当性を決定します。 スキーマは、クライアントの呼び出しの正当性を決定します。
-
強く型付けされています。スキーマは、APIの型システムとすべてのオブジェクトの関係を定義します。
-
イントロスペクティブです。クライアントは、スキーマに関する詳細を求めるためにスキーマに対してクエリを行えます。
-
階層型です。GraphQLの呼び出しの形は、返されるJSONデータの型を反映します。 入れ子になったフィールドによって、1回のラウンドトリップで指定したデータだけをクエリで返してもらうことができます。
-
アプリケーション層です。GraphQLはストレージモデルやデータベースクエリ言語ではありません。 グラフはスキーマで定義されたグラフ構造を指し、ノードはオブジェクトを、エッジはオブジェクト間の関係を定義します。 APIは、データがどのように保存されているかに関係なく、スキーマ定義に従ってアプリケーションデータをトラバースして返します。
GitHubがGraphQLを使う理由
GitHubは、インテグレーターにとって大きな柔軟性を提供してくれることから、API v4にGraphQLを選択しました。 ほしいデータだけを正確に定義できるのは、REST API v3エンドポイントよりも強力な利点です。 GraphQLを使えば、指定したデータをフェッチするための複数のRESTのリクエストを単一の呼び出しで置き換えられます。
GitHubがGraphQLに移行した理由の詳細については、オリジナルのアナウンスのblogポストを参照してください。
GraphQLのスキーマ参照について
サイドバー内のドキュメントは、GitHubのGraphQLスキーマから生成されます。 すべての呼び出しは、このスキーマに対して検証され、実行されます。 以下のドキュメントを使って、呼び出せるデータを見つけてください。
同じ内容には、Explorer Docsサイドバーからもアクセスできます。 GraphQL APIの呼び出しをうまく行うためには、ドキュメントとスキーマ検証の両方に依存しなければならないことがあります。
認証やレート制限の詳細など その他の情報についてはガイドを参照してください。
サポートのリクエスト
GitHub App、OAuth App、API開発に関する疑問、バグレポート、議論については、GitHub API Development and Support Forumを調べてみてください。 このフォーラムはGitHubのスタッフによって進行及び管理されていますが、フォーラムにポストされた疑問に対してGitHubのスタッフからの返答があることは保証されていません。
以下の場合は、連絡フォームを使ってGitHub Supportに直接連絡することを検討してください。
- GitHub Enterprise Serverのスタッフからの反応を確実に得たい場合
- センシティブなデータやプライベートな懸念事項に関わるサポートリクエスト
- 機能リクエスト
- GitHub Enterprise Serverの製品に関するフィードバック