問題タブ [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 に答える
552 参照

facebook - Facebook Graph API でオプションのフィールドを照会できますか?

ユーザーと Facebook ページの両方に OAuth2 アクセス トークンがありますが、データベースにタイプの区別が保存されていません。まったく同じ Graph API クエリを使用して、ユーザー/ページに関する基本情報を取得できるようにしたいと考えていますが、ユーザーの場合は、その上に電子メール フィールドを取得したいと考えています。

  1. GET v2.5/me?fields=name,email// ユーザートークン

    成功。

  2. GET v2.5/me?fields=name,email// ページトークン

    エラー。 (#100) Tried accessing nonexisting field (email) on node type (Page)

トークンがユーザーに属しているのかページに属しているのかわからないため,email、クエリからフィールドを簡単に削除することはできません。email上記のエラーが発生しないように、「オプション」フィールドを指定する方法はありますか?

PS: 現在、,emailエラーが発生した場合に備えて 2 番目のリクエストを行っています。

0 投票する
6 に答える
60223 参照

graphql - graphql は集計カウントを返すことができますか?

Graphql は素晴らしいので、アプリで使い始めました。概要情報を表示するページがあり、集計カウントを返すには graphql が必要ですか? これはできますか?

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

reactjs - Flux パターンを使用したリレー キャッシュ?

リレー キャッシュを Flux ストアに組み込んで、「タイム トラベル」を実行し、アプリケーションを深く理解できるようにしたいと考えています。

リレー ストアとアクションのように見えますが、すべてシリアル化できないクラスであり、残念です。しかし、ネットワーク リクエストからキャッシュを分離し、キャッシュを Flux ストアに保存できるようにする必要があるようです。

それは面白そうですか、それとも間違ったツリーを吠えていますか?

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

reactjs - リレーを使用して接続を実装しようとしましたが、すべてのノードの ID が同じです

私はgraphqlを使用して非常に単純なスキーマを書いていますが、エッジのすべてのIDが同じです。

特定の詳細を github に投稿しました。ここにリンクがあります。

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

reactjs - RelayJS: props を介して initialVariables を設定する方法

Echoいくつかの装飾を使用してクエリを実行する GraphQL タイプがあるとします。一方、タイプmessageによって決定されるいくつかの装飾を使用してエコーが渡されるReact コンポーネントがあります。コンポーネントのEcho設定方法を教えinitialVariablesてください。Echo

props setsinitialVariablesの設定を読みましたが、うまくいきません。試してみcomponentDidMountましたが、それもうまくいきません。

このRelay Playgroundは、メッセージが正しく表示されていないことを示しています。

コンテキストについては、

エコーで解決するタイプです

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

javascript - 新しいレコードを挿入するのに適した Relay mutator 設定のタイプはどれですか?

私はGraphQLとRelayに飛び込んでいます。これまでのところ、すべてが比較的スムーズで簡単に理解できました。と を使用する GraphQL スキーマがAccountsありTeamsます。両者の間にはまだ関係はありません。アカウントとチームの両方について、接続用に Relay 固有の GraphQL 調整をいくつか行いました。これら 2 つの接続のクエリの例を次に示します...

新しいアカウントを作成する GraphQL ミューテーションの準備ができました。これがそのGraphQL表現です...

現在、この GraphQL ミューテーションを使用するクライアント側の Relay ミューテーションを作成しようとしています。ただし、これを正しく行う方法については完全に混乱しています。私は例に従ってきましたが、思いついたものは何も正しく実行されていないようです。フラグメントの構成に関連するエラーが発生する傾向があります。

この GraphQL ミューテーションを使用する Relay ミューテーションを作成する場合、適切なミューテーター構成は何でしょうか? を使用する必要がありRANGE_ADDますか?

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

relayjs - RANGE_ADD と組み合わせたファット クエリで指定されたデータを取得しないミューテーション?

私は理解しようとしていますRANGE_ADD。のミューテーション構成にRANGE_ADD必要なすべての情報を提供しました。命名規則を使用viewerし、接続を 内にネストしますviewer。以下は、私の完全なリレーミューテーションがどのように見えるかです...

idのフラグメントを提供しますviewer。これは、実行時に 内getConfigsに存在することがわかります。

GraphQL ミューテーション レスポンス ペイロードでCreateTeamPayloadは、viewerフィールドが提供されているため、Relay は のミューテーション構成内で接続を利用できますRANGE_ADD。また、 内CreateTeamPayloadでは、新しいエッジが として提供されedgeます。

これら 3 ビットの情報 (親のビューアー ID、接続情報、エッジ) だけで十分なようですRANGE_ADD。また、Relay がミューテーション構成のためにデータにアクセスできるように、fat クエリを介してサーバーからこのデータを要求するようにします。

ただし、リレーは、ファットクエリで指定したものと、サーバーにディスパッチするものにミューテーション構成に必要なものを含めていないようです。Relay が要求しているのはclientMutationId. これがRelayからのリクエストです...

そして、連鎖反応のように、これにより、ミューテーション構成のviewerandedgeを期待している Relay がエラーをスローします...

Relayに含まれていた場合、これらの必須フィールドは完全にそこにある可能性があります。これが機能RANGE_ADDするために同行する必要がありREQUIRED_CHILDRENますか? ミューテーションはサーバーに送信され、サーバー上にレコードが作成されます。クライアント側のミューテーション構成が変更されたデータをストアに組み込むことができないだけです。

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

graphql - GraphQLInterfaceType と GraphQLUnionType の実例

GraphQLInterfaceTypeとをいつ使うべきか理解するのに苦労していますGraphQLUnionType

私はRTFMを持っています:

これらが私の厚い頭を理解するのに役立つ場合、誰かが実際の例を提供できますか?

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

node.js - GraphQL サーバーでアクセス制御を実装するための適切なパターンは何ですか?

バックグラウンド:

User やその他のさまざまなモデルを含む一連のモデルがあり、その一部には User への参照が含まれています。私は、Graffiti-mongoose アダプターを使用する Mongo データベースに支えられた、Graffiti によって生成された GraphQL API を介してクエリを実行するために、これらのモデルを公開します。私の現在の REST API (GraphQL に移行中) は、JSON Web トークンを使用してユーザーを認証し、アクセス制御を処理するためにサーバー側にいくつかのカスタム許可ロジックを持っています。

問題:

現在ログインしているユーザーに基づいて、GraphQL のオブジェクトへのアクセスを制限したいと考えています。一部のモデルは、認証されていない呼び出しによる読み取りにアクセスできる必要があります。他のほとんどのモデルは、それらを作成したユーザーのみがアクセスできる必要があります。Graffiti で生成された API を介してオブジェクトへのアクセス制御を管理する最良の方法は何ですか?

一般に、GraphQL のアクセス制御の適切なパターンはありますか? 特に、Graffiti でそれを行うための良い例やライブラリはありますか?

ノート:

graffiti-mongoose にプレフックとポストフックが実装されており、それらを使用して認証用の基本的なバイナリ チェックを実行できることを理解しています。より詳細なアクセス制御ロジックを GraphQL API に組み込む方法を知りたいです。将来的には、特定のユーザー グループによって作成されたモデル インスタンスにアクセスできる管理者などをサポートしたいと考えています (たとえば、所属に管理者のグループが含まれるユーザー)。

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

postgresql - GraphQL+Sequelize+CLS でエラーがスローされた後もトランザクションが自動コミットされる

コーディングに間違った部分があるかどうか疑問に思っています。一連の関数とチェックを実行しようとしていますが、満たされていない条件があれば、トランザクションをロールバックしたいと考えています。

私はstackoverflowのリファレンスを参照しています

新しいエラーをスローした後もトランザクションがコミットされます。

これが私のサンプルコーディングです。

私が持っているschema.jsで