問題タブ [sangria]

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 投票する
3 に答える
2846 参照

facebook - Relayアプリ:サーバー上のスキーマをイントロスペクトする方法は?

リレースターターキットで遊んでいます。また、 sangriaを使用してグラフql サーバーを作成しました。今、私は2つを一緒に配線しようとしています。

Relay-starter-kit では、スキーマを変更するたびに、スクリプトを実行して schema.json ファイルを再生成する必要があります。しかし、graphql はスキーマのイントロスペクションをサポートしているので、起動時にサーバーからスキーマをイントロスペクトするようにリレー アプリを構成する方法があるかどうか疑問に思っています。

これが可能かどうか、またはこれを行う方法を知っている人はいますか?

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

reactjs - Graphql/relay バックエンドとフロントエンドを分離

リレーを使用して、バックエンドとフロントエンドを異なるプロジェクトで分離したいと考えています。私がこれを行っている理由は、特定のリレー/graphql バックエンドである sangria を使用しており、フロントエンドの開発を Scala の開発とは別に維持したいからです。

別のgraphqlサーバーバックエンドと通信する1つのサーバー上の反応リレーフロントエンドアプリケーションを接続することは可能ですか. リレーは、そのエンドポイントがエンドポイント /graphql と同じホスト上にあると想定しているようです

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

scala - サングリアで2.5をプレイ

Play with Sangria (さらにその上に Relay と React) を試してみたいと思います。これまでに見つけた Sangria の例は Play 2.4.2 で動作しますが、Play 2.5 ではより大きな変更がいくつかあるようです。Sangria の新しいバージョンを待つ方がよいでしょうか?それとも、今すぐ Play 2.5 にアップデートしても「安全」でしょうか?

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

scala - 任意の JSON の「デコーダー」を作成する

Finch、Circe、Sangria を使用して、API の GraphQL エンドポイントを構築しています。GraphQLvariablesクエリで取得される は、基本的に任意の JSON オブジェクトです (ネストがないと仮定しましょう)。たとえば、Strings としての私のテスト コードでは、2 つの例を次に示します。

Sangria API は、これらの の型を想定していますMap[String, Any]

私はたくさんの方法を試しましたが、これまでのところDecoderCirce でこれを書くことができませんでした。どんな助けでも感謝します。

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

scala - 1つの要素リストを返すsangria graphqlクエリ

GraphQL サーバーとして sangria を使用しています。スキーマの関連部分は次のとおりです。

延期コードは

個々のオブジェクトに対してすべてが機能しますが、オブジェクトとその子をリクエストしようとすると、返される子は 1 つだけです

クエリ:

応答:

その通りです。リストのすべての要素がロードされていることをバックエンドで確認できますが、返されていないようです。

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

scala - Sangria GraphQL のオブジェクトのリゾルバーで要求されたフィールドを知る方法

Sangria GraphQL("org.sangria-graphql" %% "sangria" % "1.0.0-RC5") で GrapQL サーバーを構築しています。

通常、必要かどうかはわかりません。しかし、パフォーマンスを向上させるために、解決中にクライアントから要求されたフィールドを取得したいと思います。

例えば、

リクエストいただければ、

サーバーは FooObject オブジェクト リゾルバーで解決される場合があります

それから、

オブジェクト フィールドは、FooObject オブジェクトのフィールド リゾルバで解決される場合があります

次に、graphqlの結果を取得できます

私がやろうとしているのは、オブジェクト リゾルバーでの解決中に、以下のようなフィールド ヒントを与えることです。

この場合、リゾルバーでクライアントが要求したフィールドを抽出する方法が見つかりませんでした。Ctx(context)オブジェクトは、私の調査では、オブジェクトが要求についてよく示していないことを示しています。私が言及したような方法はありCtx.[__COLLECT_REQUESTED_FIELDS__]()ますか?

各フィールドリゾルバーがデータベースの1つの列を選択してクエリを作成することで試すことができます。しかし、フィールドが要求されていることをすでに知っていれば、1つのクエリで作成でき、多くのN+1ケースの問題を解決できます(トップレベルのオブジェクトはネストされたすべてのオブジェクトをクエリに持ち込むことができるため、データベースに依存する場合があります)

まだベストプラクティスがないことはわかっていましたGraphQL。私が試しているよりも良い方法が存在する可能性があります。どのようなフィールドが要求されているかを知るために購入すると、処理データを作成するのに適しています。

どなたかご存知でしたら教えてください。

ありがとうございました。