GraphQL-アプリケーションコンポーネント
この章では、さまざまなGraphQLコンポーネントとそれらが相互に通信する方法について説明します。アプリケーションコンポーネント全体は、次のように区別できます。
- サーバー側コンポーネント
- クライアント側のコンポーネント
サーバー側コンポーネント
GraphQLサーバーは、サーバー側のコアコンポーネントを形成し、GraphQLクライアントアプリケーションからのクエリを解析できるようにします。Apollo Serverは、GraphQL仕様の最も一般的に使用される実装です。その他のサーバープログラミングコンポーネントには、次のものがあります。
シニア番号 | サーバーの要点と説明 |
---|---|
1 | Schema GraphQLスキーマは、GraphQLサーバーの実装の中心であり、それに接続するクライアントが利用できる機能を記述します。 |
2 | Query GraphQLクエリは、データベースまたはレガシーAPIからデータを取得するためのクライアントアプリケーションリクエストです。 |
3 | Resolver リゾルバーは、GraphQL操作をデータに変換するための指示を提供します。リゾルバー関数を定義することにより、クエリをデータに解決します。 |
クライアント側のコンポーネント
以下にクライアント側のコンポーネントを示します-
シニア番号 | ツールと説明 |
---|---|
1 | GraphiQL GraphQLクエリとミューテーションを編集およびテストするためのブラウザベースのインターフェイス。 |
2 | ApolloClient GraphQLクライアントアプリケーションを構築するための最良のツール。すべてのJavaScriptフロントエンドとうまく統合します。 |
次の図は、 Client-Server architecture。Webサーバーは、NodeJとExpressフレームワーク上に構築されています。ReactJSアプリケーション(Apolloクライアントライブラリを使用して構築)またはGraphiQLブラウザーアプリケーションによってApolloGraphQLサーバーにリクエストが行われます。クエリは解析され、サーバーで定義されたスキーマに対して検証されます。リクエストスキーマが検証に合格すると、関連するリゾルバー関数が実行されます。リゾルバーには、APIまたはデータベースからデータをフェッチするためのコードが含まれます。