Skip to main content

GraphQL APIについて

GitHubのGraphQL APIは、柔軟性と、フェッチしたいデータを正確に定義できる機能を提供します。

概要

以下は、GraphQL APIを使い始めるためのクイックリンクです。

GraphQLについて

GraphQLデータクエリ言語は、

  • 仕様です。この仕様は、APIサーバー上のスキーマの正当性を決定します。 スキーマは、クライアントの呼び出しの正当性を決定します。

  • 強く型付けされています。スキーマは、APIの型システムとすべてのオブジェクトの関係を定義します。

  • イントロスペクティブです。クライアントは、スキーマに関する詳細を求めるためにスキーマに対してクエリを行えます。

  • 階層型です。GraphQLの呼び出しの形は、返されるJSONデータの型を反映します。 入れ子になったフィールドによって、1回のラウンドトリップで指定したデータだけをクエリで返してもらうことができます。

  • アプリケーション層です。GraphQLはストレージモデルやデータベースクエリ言語ではありません。 グラフはスキーマで定義されたグラフ構造を指し、ノードはオブジェクトを、エッジはオブジェクト間の関係を定義します。 APIは、データがどのように保存されているかに関係なく、スキーマ定義に従ってアプリケーションデータをトラバースして返します。

GitHubがGraphQLを使う理由

GitHubは、インテグレーターにとって大きな柔軟性を提供してくれることから、GraphQLを選択しました。 ほしいデータ、そしてほしいデータだけを正確に定義できるのは、旧来のREST APIエンドポイントよりも強力な利点です。 GraphQLを使えば、指定したデータをフェッチするための複数のRESTのリクエストを単一の呼び出しで置き換えられます。

GitHubがGraphQLに投資した理由の詳細については、オリジナルのアナウンスのblogポストを参照してください。

GraphQLのスキーマ参照について

サイドバー内のドキュメントは、GitHubのGraphQLスキーマから生成されます。 すべての呼び出しは、このスキーマに対して検証され、実行されます。 以下のドキュメントを使って、呼び出せるデータを見つけてください。

同じ内容には、Explorer Docsサイドバーからもアクセスできます。 GraphQL APIの呼び出しをうまく行うためには、ドキュメントとスキーマ検証の両方に依存しなければならないことがあります。

認証やレート制限の詳細など その他の情報についてはガイドを参照してください。

サポートのリクエスト

For questions, bug reports, and discussions about GitHub Apps, OAuth App, and API development, explore the APIs and Integrations discussions on GitHub Community. The discussions are moderated and maintained by GitHub staff, but questions posted to the forum are not guaranteed to receive a reply from GitHub staff.

以下の場合は、連絡フォームを使ってGitHub Supportに直接連絡することを検討してください。

  • GitHub AEのスタッフからの反応を確実に得たい場合
  • センシティブなデータやプライベートな懸念事項に関わるサポートリクエスト
  • 機能リクエスト
  • GitHub AEの製品に関するフィードバック