問題タブ [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.
facebook - Facebook Graph API でオプションのフィールドを照会できますか?
ユーザーと Facebook ページの両方に OAuth2 アクセス トークンがありますが、データベースにタイプの区別が保存されていません。まったく同じ Graph API クエリを使用して、ユーザー/ページに関する基本情報を取得できるようにしたいと考えていますが、ユーザーの場合は、その上に電子メール フィールドを取得したいと考えています。
GET v2.5/me?fields=name,email
// ユーザートークン成功。
GET v2.5/me?fields=name,email
// ページトークンエラー。
(#100) Tried accessing nonexisting field (email) on node type (Page)
トークンがユーザーに属しているのかページに属しているのかわからないため,email
、クエリからフィールドを簡単に削除することはできません。email
上記のエラーが発生しないように、「オプション」フィールドを指定する方法はありますか?
PS: 現在、,email
エラーが発生した場合に備えて 2 番目のリクエストを行っています。
graphql - graphql は集計カウントを返すことができますか?
Graphql は素晴らしいので、アプリで使い始めました。概要情報を表示するページがあり、集計カウントを返すには graphql が必要ですか? これはできますか?
reactjs - Flux パターンを使用したリレー キャッシュ?
リレー キャッシュを Flux ストアに組み込んで、「タイム トラベル」を実行し、アプリケーションを深く理解できるようにしたいと考えています。
リレー ストアとアクションのように見えますが、すべてシリアル化できないクラスであり、残念です。しかし、ネットワーク リクエストからキャッシュを分離し、キャッシュを Flux ストアに保存できるようにする必要があるようです。
それは面白そうですか、それとも間違ったツリーを吠えていますか?
reactjs - リレーを使用して接続を実装しようとしましたが、すべてのノードの ID が同じです
私はgraphqlを使用して非常に単純なスキーマを書いていますが、エッジのすべてのIDが同じです。
特定の詳細を github に投稿しました。ここにリンクがあります。
reactjs - RelayJS: props を介して initialVariables を設定する方法
Echo
いくつかの装飾を使用してクエリを実行する GraphQL タイプがあるとします。一方、タイプmessage
によって決定されるいくつかの装飾を使用してエコーが渡されるReact コンポーネントがあります。コンポーネントのEcho
設定方法を教えinitialVariables
てください。Echo
props setsinitialVariables
の設定を読みましたが、うまくいきません。試してみcomponentDidMount
ましたが、それもうまくいきません。
このRelay Playgroundは、メッセージが正しく表示されていないことを示しています。
コンテキストについては、
エコーで解決するタイプです
javascript - 新しいレコードを挿入するのに適した Relay mutator 設定のタイプはどれですか?
私はGraphQLとRelayに飛び込んでいます。これまでのところ、すべてが比較的スムーズで簡単に理解できました。と を使用する GraphQL スキーマがAccounts
ありTeams
ます。両者の間にはまだ関係はありません。アカウントとチームの両方について、接続用に Relay 固有の GraphQL 調整をいくつか行いました。これら 2 つの接続のクエリの例を次に示します...
新しいアカウントを作成する GraphQL ミューテーションの準備ができました。これがそのGraphQL表現です...
現在、この GraphQL ミューテーションを使用するクライアント側の Relay ミューテーションを作成しようとしています。ただし、これを正しく行う方法については完全に混乱しています。私は例に従ってきましたが、思いついたものは何も正しく実行されていないようです。フラグメントの構成に関連するエラーが発生する傾向があります。
この GraphQL ミューテーションを使用する Relay ミューテーションを作成する場合、適切なミューテーター構成は何でしょうか? を使用する必要がありRANGE_ADD
ますか?
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からのリクエストです...
そして、連鎖反応のように、これにより、ミューテーション構成のviewer
andedge
を期待している Relay がエラーをスローします...
Relayに含まれていた場合、これらの必須フィールドは完全にそこにある可能性があります。これが機能RANGE_ADD
するために同行する必要がありREQUIRED_CHILDREN
ますか? ミューテーションはサーバーに送信され、サーバー上にレコードが作成されます。クライアント側のミューテーション構成が変更されたデータをストアに組み込むことができないだけです。
graphql - GraphQLInterfaceType と GraphQLUnionType の実例
GraphQLInterfaceType
とをいつ使うべきか理解するのに苦労していますGraphQLUnionType
。
私はRTFMを持っています:
- http://graphql.org/docs/api-reference-type-system/#graphqluniontype
- https://github.com/mugli/learning-graphql/blob/master/7.%20Deep%20Dive%20into%20GraphQL%20Type%20System.md
これらが私の厚い頭を理解するのに役立つ場合、誰かが実際の例を提供できますか?
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 に組み込む方法を知りたいです。将来的には、特定のユーザー グループによって作成されたモデル インスタンスにアクセスできる管理者などをサポートしたいと考えています (たとえば、所属に管理者のグループが含まれるユーザー)。
postgresql - GraphQL+Sequelize+CLS でエラーがスローされた後もトランザクションが自動コミットされる
コーディングに間違った部分があるかどうか疑問に思っています。一連の関数とチェックを実行しようとしていますが、満たされていない条件があれば、トランザクションをロールバックしたいと考えています。
私はstackoverflowのリファレンスを参照しています
新しいエラーをスローした後もトランザクションがコミットされます。
これが私のサンプルコーディングです。
私が持っているschema.jsで