問題タブ [graphql]

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.

0 投票する
1 に答える
894 参照

graphql - graphql-js を使用した関連する HTTP 応答コード

これが問題です。graphql-js でエラー処理を処理する方法を理解しようとしています。(リレー無しの場合)

十分に具体的ではありません!? さて、graphql-js は解決関数内でスローされたすべてのエラーをキャッチしているため、エラーと http 応答を適切に処理する方法について少し混乱しています。

だから私はほとんどアイデアがなかったので、あなたがそれについてどう思うか知りたいです!

  1. エラーが含まれている場合でも、graphql 応答で常に 200 OK を返します。(あれは好きじゃない)

  2. 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

0 投票する
2 に答える
992 参照

reactjs - Relay.js でのルート クエリの作成と削除

親ノードを持たないリレーでノードを作成および削除する方法を見つけようとしています。NODE_DELETE/ RANGE_DELETEand RANGE_ADDall には親ノードが必要なようです。Relay.js のルート クエリ オブジェクトからミューテーションの作成と削除を実行する方法はありますか?

注: FIELDS_CHANGE クエリを使用して作成を実行できる例を見つけましたが、ドキュメントや理由がありません。

0 投票する
1 に答える
1510 参照

reactjs - Passing arguments to top level fields from within a Relay container

Assume I have a field called country defined at the top level of my GraphQL schema. I can query it in the following way:

In my relay container I can specify the attributes that I would like returned with a fragment on Country:

How can I change the value of the alpha2 argument from within my react component? I could nest the country field under some arbitrary field and declare my relay fragment on the parent but would rather avoid unnecessarily modifying my graph if possible.

0 投票する
0 に答える
756 参照

react-native - エラー:反応ネイティブでgraphqlクエリをフェッチするときに、適切なリクエストハンドラが見つかりませんでした

こんにちは、反応ネイティブでgraphqlサービスを取得しようとしていますが、グラフql urlに適切なリクエストハンドラが見つかりませんというエラーが発生します ここに画像の説明を入力

私は取得のためにこのようなコードを書きました

私のコードに問題があることを教えてください。反応ネイティブでgraphqlクエリを取得する方法を提案してください。

0 投票する
1 に答える
826 参照

immutable.js - Relay-GraphQL ミューテーションを使用した状態トラバーサルの取り消しとやり直しのパターン

Immutable と Flux の実装を使用して元に戻す/やり直し機能を実現することは、基本的に簡単です。これは、一部は Immutable によって可能になった値の受け渡しによるものであり、一部は Flux を使用することのブラウザー内/メモリ内の性質によるものです。

ただし、Relay-GraphQL ミューテーションの観点からこれを概念化することは明らかではありません。これを単純化する既知のパターンはありますか?

0 投票する
3 に答える
2729 参照

javascript - Relayによる認証とアクセス制御

Facebook の公式見解は、Relay は「意図的に認証メカニズムにとらわれない」というものです。Relay リポジトリのすべての例では、認証とアクセス制御は別の問題です。実際には、この分離を実装する簡単な方法は見つかりませんでした。

viewerRelay リポジトリで提供されている例にはすべて、ユーザーが 1 人であることを前提としたフィールドを持つルート スキーマがあります。そして、そのユーザーはすべてにアクセスできます。

ただし、実際には、アプリケーションには多くのユーザーがいて、各ユーザーは各ノードへのアクセス レベルが異なります。

JavaScript に次のスキーマがあるとします。

一部のユーザーは、クエリを実行するユーザーの観点から完全に非公開です。他のユーザーは、特定のフィールドのみを照会ユーザーに公開する場合があります。そのため、ユーザーを取得するには、クライアントはクエリ対象のユーザー ID を提供するだけでなく、アクセス制御が行われるように自分自身を識別する必要もあります。

これは、アクセスを制御する必要性がグラフを少しずつ下るにつれて、すぐに複雑になるようです。

さらに、ルート クエリごとにアクセスを制御する必要がありますnodeField。すべてのノードが を実装していることを確認する必要がありますnodeInterface

これらはすべて、多くの反復作業のように思えます。これを単純化するための既知のパターンはありますか? 私はこれについて間違って考えていますか?

0 投票する
1 に答える
722 参照

graphql - Relayによるユーザー入力の検証

一見すると、Relay で検証を行う最善の方法は、スキーマでカスタム GraphQL スカラー型を使用することです。そうですか?