Graphql-jquery-integration
GraphQL-JQuery統合
Webアプリケーションは、データを非同期で(バックグラウンドで)送受信します。 AJAXを使用すると、Webサイトはページを更新せずにコンテンツを画面にロードできます。 jQueryにはAJAX機能用のメソッドがいくつか用意されているため、AJAXの使用が簡単になります。 この章では、GraphQLをjQueryと統合する方法を学習します。
クライアントサーバーアーキテクチャを使用するアプリケーションを検討してください。 GraphQLサーバーにデータを要求するフロントエンドWebページを構築できます。 Webページは、jQueryを使用してGraphQLサーバーにAJAX呼び出しを行います。
GraphQLをJQueryに統合するには、GraphiQLリクエストヘッダーを調べて、リクエストパラメーターを理解しましょう。
単純な hello-world の例から、使用される* httpメソッド*が POST であることがわかります。 ブラウザで、ヘッダーセクションまでスクロールダウンして、_requestペイロード_を表示します。
[コードを表示]をクリックすると、Chromeのリクエストペイロードセクションに以下が表示されます。
また、クライアントアプリケーションから呼び出す必要がある要求URL http://localhost:9000/graphql にも注意してください。
図
段階的なプロセスを使用して、GraphQLとJQueryを統合する方法を理解しましょう。
サーバーのセットアップ
私たちは、次の手順を使用してサーバーをセットアップすることを学びます-
ステップ1-プロジェクトに必要な依存関係をダウンロードしてインストールする
ステップ2-スキーマを作成する
プロジェクトフォルダ jquery-server-app にschema.graphqlファイルを追加し、次のコードを追加します-
ファイルには、 greeting と sayHello という2つのクエリが定義されています。 saysayelloクエリは、文字列パラメーターを受け取り、別の文字列を返します。 saysayello()関数のパラメーターがnullではありません。
ステップ3-リゾルバーを作成する
プロジェクトフォルダにファイルresolvers.jsを作成し、次のコードを追加します-
ここで、 greeting と sayHello は2つのリゾルバです。 sayHelloResolverでは、nameパラメーターに渡された値は、argsを介してアクセスできます。 モジュール外のリゾルバー関数にアクセスするには、 module.exports を使用してQueryオブジェクトをエクスポートする必要があります。
ステップ4-アプリケーションを実行する
server.jsファイルを作成します。 環境設定の章の手順8を参照してください。 ターミナルでコマンド_npm start_を実行します。 サーバーは9000ポートで稼働します。 ここでは、GraphiQLをクライアントとして使用して、アプリケーションをテストします。
ブラウザを開き、URL http://localhost:9000/graphiql を入力します。 エディタで次のクエリを入力します-
サーバーからの応答は以下のとおりです-
クライアントのセットアップ
すでにサーバーをセットアップしているので、今度はクライアントをセットアップする方法を学びます。
手順1-現在のプロジェクトフォルダーの外に新しいフォルダーjquery-client-appを作成します
まず、プロジェクトフォルダーの外に jquery-client-app という名前のフォルダーを作成します。
ステップ2-jQuery統合用のHTMLページindexlを作成する
jqueryでクライアントアプリケーションを作成し、両方のメソッドを呼び出します。 以下は、 indexl ファイルのコードです。 indexl ページは、ボタン Greet および SayHello がクリックされると、サーバーにリクエストを送信します。 $ .ajax()関数を使用して非同期リクエストを作成します。
ブラウザでこのファイルを開き、ボタンをクリックして応答を確認します。 出力は以下のようになります-