問題タブ [graphql-tools]
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.
graphql - GraphQL の Input と Type の間で共通のフィールドを共有する
複数の場所で同じフィールドのセットを定義する必要がないように、GraphQL の Input と Type の間で共通のフィールドを共有する方法があるかどうか疑問に思っていました。
例:
Fragment が解決策になる可能性があることは知っていますが、私の理解が正しければ、 Fragment を使用すると、次のようになる ON 条件を常に設定する必要があります。
「on Person/PersonInput」を指定する方法はないようです。
node.js - null を返す GraphQL ネストされたクエリ
次のクエリを実行しようとすると、「null 非許容フィールド User.first_name に対して null を返すことはできません。」というエラーが表示されます。私はnullの結果を期待していません。
私が期待しているのは次のとおりです。
私のMongoDBは_idを返すことができる配列に格納しますが、ユーザータイプの他のものはnullを返します。
ユーザースキーマ:
ユーザー リゾルバ:
サイト スキーマ:
サイト リゾルバー:
サイトクエリのためにリゾルバーでさらに多くのことを行う必要があると思いますが、正確にはわかりません。私はすでに mongoose.populate を使用してみましたが、役に立たなかったのは、 populate メソッドで空の配列を返すことでした。
お時間をいただきありがとうございます。
編集:これが私のマングーススキーマです
ユーザースキーマ
サイト スキーマ:
node.js - Apollo を使用して異なるエンドポイントを使用して同じ GraphQL スキーマを使用する
環境
今日、私は2つのgraphqlアプリケーションを単一のgraphqlエンドポイントに統合する単純なGraphQLステッチングサーバーを持っています
そのまま
これは、各サービス (アプリ 1 とアプリ 2) をイントロスペクトし、とApolloLink
を使用して各アプリにホスト URL を割り当てることで機能します。apollo-upload-client
apollo-link-http
この後、 librayを使用mergeSchemas
して両方のスキーマをマージします。graphql-tools
問題
ここで、アプリ 1 と同等の別のサービスを使用する必要がありますが、別のデータベースを使用するため、別の URL が使用されますが、別のホストを使用してアプリ 1のアポロ リンクをインスタンス化すると、mergeSchemas はそれを無視し、最終的にステッチされたスキーマは初期のまま続行されます。州。
異なる URL で同じスキーマを使用する方法は?
することが
異なる URL を使用して 2 つの類似したスキーマをつなぎ合わせたい
アップデート
それぞれに異なる URL を使用してスキーマを複数回インスタンス化しましたが、これによりスキーマが重複しました。これで問題は解決しますが、同じスキーマを維持し、ヘッダーでホストを切り替えるなどのより良い解決策があると思います。
2つのスキーマだけを維持するためのより良い解決策はありますか?
typescript - スキーマ スティッチングは、プレフィックスを追加して競合を解決します
だから私はこの2つのスキーマを持っています
スキーマ 1
スキーマ 2
期待される結果は次のようになります: (しかし、私はさまざまなアイデアを受け入れることができます) マージ後に作成したいクエリは次のとおりです。
そして、次のような結果を得る
また
そして、次のような突然変異:
また
私はtransformSchema
graphql-toolsで関数を使用しようとしていますが、正しく理解できません:
getRemoteSchema 定義
私はこのグリッチを作成しましたhttps://glitch.com/edit/#!/schema-stitching-conflict ということで、問題が見やすくなりました。