問題タブ [graphql-js]
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.
javascript - GraphQL ストリーミング タイプ?
現在、GraphQL-JSをいじって、MariaDB バックエンドに接続しています。
結果セット全体を返す方法を見つけました:
これはかなりクールですが、私が使用しているライブラリでは、結果を行ごとにストリーミングすることもできます。
GraphQL にはこれを容易にするものはありますか?
私が知る限りGraphQLList
、完全な配列が期待されており、エミッターなどを使用してフィードすることはできず、結果セットを一度しか解決できません。
javascript - ORM に対するページネーションのリレー接続をどのように定義しますか?
Relayのすべてのドキュメントに目を通しましたが、ORMを使用してRelay接続を構築する方法についての簡単な説明はないようです。すべての例はconnectionFromArray
、データをメモリに保存する場合は問題ない方法を使用しているように見えますが、データをデータベースに保存する場合は、接続のページネーションが機能するために必要な情報をどのように提供しますか?
graphql - Relay/graphql で特定のリスト項目の追加情報を取得する
Relay と GraphQL を使用して、ビューアを返すスキーマと、関連付けられたドキュメントの埋め込みリストがあるとします。ルート クエリ (フラグメントで構成される) は、次のようになります。
これにより、ユーザーと、それに関連付けられているすべてのグループのリストを表示できます。
ここで、ユーザーがそのリスト項目をクリックして、その特定のリスト項目に関連付けられたコメントを表示するように展開できるようにしたいとしましょう。これらのコメントを受け取ることができるように、リレー ルートのクエリをどのように再構築すればよいですか? グループ エッジにコメント エッジを追加すると、すべてのグループのコメントが取得されませんか?
または、ルート クエリを変更して特定のグループを検索する必要がありますか?
私の懸念は、特に、これを のコンテキスト内で使用することですrelay
。つまり、展開されたリスト アイテム (またはアイテム) のコメントのみをフェッチするルート クエリを効率的に構築するにはどうすればよいでしょうか。また、既に存在するキャッシュされたデータを利用し、ミューテーションを行うときに更新されます。上記の例は、特定の展開されたグループに対して機能する可能性がありますが、すべてのグループ項目のフィールドをフェッチせずに複数のグループを同時に展開する方法がわかりません。
graphql - GraphQL ミューテーション変数
GraphiQL インターフェイスで GraphQL を使用して単純な突然変異を実行しようとしています。私の突然変異は次のようになります:
変数を使用:
しかし、それは私にエラーを与えます:Variable $name of type "String" used in position expecting type "String!"
突然変異をに変更するmutation M($name: String = "default")
と、期待どおりに機能します。これは型システムに関連しているように見えますが、何が問題なのかわかりません。
reactjs - 整数クエリパラメーターを使用したRelayJS不変違反
私はリレーに比較的慣れていないので、これは私が犯した簡単な間違いかもしれませんが、すでにしばらく探していましたが、私が抱えている問題に関する情報は見つかりませんでした.
これは、アプリケーションから得られるエラーです。
キャッチされないエラー: 不変違反: GraphQLFragmentPointer:
story
クエリの引数の値Route
は文字列である必要がありますが、に設定されていました10
。値が文字列であることを確認してください。
問題は、実際には文字列にしたいの10
ですが、文字列にしたくないということです。設定が間違っていませんか?
これは私のGraphQLスキーマです:
これは私が定義したリレー ルートです。
そして、これが私がそれをインスタンス化する方法です:
reactjs - GraphQL での双方向フェッチ
次の GraphQL スキーマがあります。
基本的に、すべてのユーザーはタスクのリストを持つことができます。この問題は、次のような応答を得るためにすべてのタスクのリストをフェッチする必要があるときに発生します。
そのようなフェッチを許可するには、スキーマをどのように編集すればよいですか?
node.js - graphQL - タイプは出力タイプである必要があります
Express とmongoose を使用して、graphQL ルートをセットアップしようとしていgraffiti
ます。
ただし、次のエラーが表示されます。
マングース スキーマでは、タイプは :type : Schema.Types.ObjectId
です。他のものに変更する必要がありますか?
バージョンは次のとおりです。
graphql - graphql-js を使用した関連する HTTP 応答コード
これが問題です。graphql-js でエラー処理を処理する方法を理解しようとしています。(リレー無しの場合)
十分に具体的ではありません!? さて、graphql-js は解決関数内でスローされたすべてのエラーをキャッチしているため、エラーと http 応答を適切に処理する方法について少し混乱しています。
だから私はほとんどアイデアがなかったので、あなたがそれについてどう思うか知りたいです!
エラーが含まれている場合でも、graphql 応答で常に 200 OK を返します。(あれは好きじゃない)
result.errors[0] の大文字と小文字を切り替えて、エラーに関して http 応答を返します。エラーがない場合は、result.data を返します。(これは非常に長いスイッチケースになる可能性があります)
resolve 関数と throw および object でエラー処理を処理する (例:
{ httpCode: 404, msg: 'No X found with the requested id' }
)エクスプレス app.post 関数 (または任意の Web フレームワーク) では、次のようなものがあります。
/li>
エラーオブジェクトのマーシャリング方法が原因で、これは現在機能しません...または、少なくともgraphqlからそれを取得する方法をまだ見つけていません。私はおそらくgraphql-jsソースを調べようと考えていますが、明らかな何かが欠けている可能性があるので、最初に皆さんに尋ねたほうがよいと思いました.
明らかに、より良いアイデアは大歓迎です!
乾杯 :D