問題タブ [graphql-tag]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apollo-server - GraphQLObjectType を、graphql-tag と gql-tag によって作成されたスキーマと組み合わせるにはどうすればよいですか?
私は apollo-server-express と一緒に graphql-tag を使用して接続し、API の graphQL エンドポイントを構築します。現時点では、次のようなスキーマ定義を作成します。
プロパティ.js
およびserver.js
ただし、データベース スキーマに基づいて「プロパティ」タイプを自動的に作成したいと考えています。次のような GraphQLObjectType を作成できることがわかりました。
しかし、これを組み合わせる方法がわかりません
最終的なスキーマを作成します。誰かが私を正しい方向に向けることができますか? どんな助けでも大歓迎です。よろしくお願いします!
reactjs - Apollo Client を使用してフロントエンドでプログレッシブ ディスクロージャーを処理する
私のプロジェクトでは、段階的開示 (ユーザーが権限を持っている場合に UI データの一部を表示する) を実装する予定です。基本的にreact + apollo client with hooks + graphqltagを使っています。
しかし問題は、UI の一部を非表示にする方法ではなく、権限によってクエリを分割する方法です。そのため、現在、ページについては、さまざまな種類のデータに対して多くの「サブクエリ」を含む単一のクエリを作成しています。例えば :
そして今、ユーザーが許可を持っていれば、このクエリの各部分が利用可能になります。バックエンド側では、すでに処理されています。null/空の配列とエラーをスローします。しかし、IMO では、データのこの部分を求めることさえすべきではありません。そして、それが問題です。これを apollo クライアントで行う方法について何か提案はありますか?
現在、それを行う方法について2つのアイデアがあります。
- クエリを 1 つに分割し、ユーザーが権限を持っている場合はいくつかの API 呼び出しを行い、そうでない場合はスキップします
- クエリ定義とクエリに必要なアクセス許可を含む、オブジェクトの prop 配列として渡すカスタム関数を作成します。この配列を許可によってフィルタリングし、次のような小さなクエリ定義から、
applicationShipDates
またはいくつかの「サブクエリ」を含むgraphStatistics
大きなクエリを作成しますgetDataX