GraphQL を WunderGraph に移行する
項目一覧
重要
MongoDB Atlas と WunderGraph の両方の公式ドキュメントを常に参照してください 最新かつ正確な情報については、 を参照してください。具体的な手順は、プロジェクトの詳細と使用されるテクノロジーによって異なる場合があります。
WunderGraph は、オープンソース ツールと SDK を備えた包括的な開発者プラットフォームです。
これらのツールの 1 つは、 フロントエンド(BLF)フレームワーク用 のバックエンドです 。この BFF フレームワークは、本番環境に追加できる堅牢で仕様に準拠したサーバー フレームワークです。 このフレームワークは、任意のソースからのデータを統合できます。 これには MongoDB Atlas のデータが含まれます。 詳細については、 の WreadGraphDocs ページを 参照してくださいAtlas 。GraphQL Federation の使用を検討する場合は、 WunderGraph Cosmo を検討してください。
WunderGraph への移行
WGS は、データをバンドルし、フロントエンド フレームワーク向けにタイプセーフなクライアントを生成するオープンソース ゲートウェイです。 フックを使用して、追加のビジネス ロジックや カスタム GraphQL リゾルバ を追加することもできます データベースからクライアントを減算します。
次は、GraphQL ホストを Atlas App Services から WunderGraph に移行する方法の概要です。 具体的な手順は、プロジェクトの詳細と使用されるテクノロジーによって異なる場合があります。
最初から開始する場合は、 MongoDB / Atlas データソース のドキュメント に従ってください 。詳細については、 の WGSDocs のAtlas ページを参照してください。
GraphQL UI でデータを参照する
WGS サーバーを実行し、クエリ操作を追加したら、GraphQL ユーザー インターフェイスを使用して、GraphQL API から Atlas データを調査できます。 これは、アプリを開発する際に役立ちます。 本番環境のアプリでは、WunderGraph の JSON-RPC インターフェイスを使用することをお勧めします(次のステップを参照)。
WunderGraph サーバーが実行されている場合は、
http://localhost:9991/graphql
に移動します。次のクエリを GraphQL ユーザー インターフェースに追加します。
query Users { db_findManyusers { id name email } } [ プレイ ] ボタンをクリックします。
本番環境での WunderGraph の JSON-RPC インターフェースの使用
GraphQL は開発に適していますが、本番環境では、Atlas データを操作するために WGS の JSON-RPC インターフェイスを使用することを検討する必要があります。
つまり、WunderGraph は GraphQL 操作を呼び出して使用できる JSON-RPC エンドポイントにコンパイルします。
wunderctl up
の実行後、WunderGraph は.wundergraph/operations
ディレクトリで*.graphql
ファイルを確認し、それらを処理します。 これを機能させるには、各ファイルに 1 つの GraphQL 操作が含まれている必要があります。
各ファイルは JSON-RPC エンドポイントにコンパイルされます。 エンドポイントの名前は、ファイル名によって決まります。
JSON-RPC API クエリの例は次のとおりです。
curl http://localhost:9991/operations/Users
次のステップ
GraphQL フェデレーションの WundaGraph Cosmo
WunderGraph CosmoDocs の をご覧ください では、複数のGraphQL GraphQLAPI を組み合わせて統合グラフを作成する分散 アーキテクチャを構築する方法を学びます。
Cosmo を使用すると、チームと組織は(フェデレーティッド)GraphQL アーキテクチャを簡単に管理および拡張できます。 構成チェックによって中断されることなく、迅速に反復処理されます。
WunderGraph Cosmo は、マネージド サービスとしてローカル、オンプレミス、またはクラウドで簡単に実行できます。 Cosmo は、ルーティングから分析まですべてをプラットフォーム全体でカバーするバケット付きのソリューションです。
Cosmo は、単調な GraphQL API だけでなく、フェデレーション v 1と v 2 (サブスクリプションを含む)をサポートしています。