この記事は Google Cloud Translation APIを使用した自動翻訳です。
いくつかの文書は原文を読むのに良いかもしれません。
GraphQL は、API のクエリ言語であり、既存のデータを使用してこれらのクエリを実行するためのランタイムです。 Web API を開発するための効率的で強力かつ柔軟なアプローチを提供します。
GraphQL は、2012 年に Facebook によって作成されたクエリ言語であり、REST およびアドホック Web サービス アーキテクチャに代わるものを提供します。これにより、クライアントは必要なデータの構造を定義でき、まったく同じ構造のデータがサーバーから返されます。これにより、複数の API フェッチが不要になり、データのオーバーフェッチが減少するため、アプリケーションがより高速で効率的になります。
GraphQL は、さまざまなタイプのデータ間の関係を定義するタイプ システムと、クライアントがデータの特定のフィールドを要求できるようにするクエリ言語に編成されています。 GraphQL クエリ言語は、サーバーから返されるデータを定義するために使用されます。 GraphQL クエリがエンドポイントに送信され、サーバーは要求された形式のデータで応答します。
GraphQL は、マイクロサービス アーキテクチャだけでなく、Web アプリケーションやモバイル アプリケーションでもよく使用されます。また、コンテンツ管理システムなどのデータ駆動型アプリケーションで、返されるデータの構造を定義するためにも使用されます。
GraphQL は、従来の REST アーキテクチャに代わるものとして、2012 年に Facebook によって作成されました。当初は Facebook 内でモバイル アプリケーションを強化するために使用されていましたが、その後 2015 年にオープン ソースとしてリリースされました。それ以来、GraphQL はますます人気を博し、現在ではさまざまな企業や組織で使用されています。
GraphQL には、従来の REST アーキテクチャの魅力的な代替手段となるいくつかの機能があります。これらには以下が含まれます:
以下は、GraphQL クエリの例です。
query {
user(id: "123") {
name
age
email
}
}
このクエリは、ID「123」を持つユーザーの名前、年齢、および電子メールを要求します。サーバーは、要求されたデータをクエリと同じ構造で応答します。
{
"user": {
"name": "John Doe",
"age": 30,
"email": "john@example.com"
}
}
GraphQL には、柔軟性、効率性、自己文書化クエリなど、従来の REST アーキテクチャに勝るいくつかの利点があります。ただし、標準化されていないことや、追加のツールを実装する必要があることなど、いくつかの欠点もあります。
一部の開発者は、GraphQL は複雑すぎて実装に追加のツールが必要であると主張しているため、いくつかの論争の対象となっています。
GraphQL は、データ駆動型アプリケーションを構築するためのプラットフォームである Apollo などの他のテクノロジーと組み合わせて使用されることがよくあります。
GraphQL はますます普及しているテクノロジーであり、その使用は急速に拡大しています。
GraphQL はオープン ソース テクノロジであり、そのソース コードは GitHub で入手できます。