問題タブ [absinthe]
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.
graphql - GraphQL Elixir/Phoenix API: 大きな JSON 応答でソケットがハングアップする
Elixir/Phoenix および GraphQL の新機能。PostgreSQL データベースから「図面」を取得する単純な API を作成しました。テーブルは「id」(uuid) と「drawing_json」(テキスト) で構成されます。表には、約 77Kb の json 文字列を含む 1 つの行があります。私のスキーマとクエリは Absinthe を使用して定義されています。「all_drawings」という名前のクエリが 1 つあります。これは解決してレポに到達し、すべての図面を取り込みます。postman を使用してこの API を呼び出す場合、次のクエリは正常に機能します。
ただし、json フィールドも返そうとすると、郵便配達員の要求がタイムアウトし、「ソケットがハングアップしました」というエラーが発生します。
Visual Studio Code のデバッグ コンソールを見ると、クエリが db からデータを問題なく、ほぼ即座に取得していることがわかります。それをクライアントに返す際に、私が検出できない何かが起こっているようです。エラーはスローされません。何か案は?どの情報が役立つかはわかりませんが、喜んでさらに提供します。
graphql - サーバー側からabsinthe graphqlサブスクリプションを強制的に切断する方法はありますか?
私が取り組んでいる Phoenix アプリは、ドキュメントが「パブリック」である限り、ドキュメントの変更に対するサブスクリプションを作成します。ただし、誰かが自分のドキュメントを「非公開」に変更した場合、それらのサブスクリプションが引き続き更新を受け取ることは望ましくありません。
プライベート ドキュメントで新しいサブスクリプションが作成されないようにする方法はわかっていますが、サーバー側から既存のサブスクリプションを無効にする方法がわかりません。
elixir - FunWithFlags を使用して Absinthe Middleware で ArgumentError ets.lookup を取得する
absinthe middleware/3FunWithFlags.enabled?
コールバック内で(ref fwf )を使用しようとしていますが、次のエラーが発生しました。
あまり試していません。問題が発生している場所を絞り込みました。:some_flag record
(またはおそらくテーブル) が作成される前にミドルウェアがコンパイル:fun_with_flags_cache
され、レコード/テーブルがないために失敗したと思います。
このリンクは言う:
フラグ情報を Redis またはリレーショナル DB (Ecto を使用した PostgreSQL または MySQL) に保存して、異なるノード間での永続化と同期を行いますが、高速検索のために ETS テーブルにローカル キャッシュも保持します。ノードでフラグが追加または切り替えられると、他のノードは PubSub を介して通知され、ローカルの ETS キャッシュをリロードします。
次の構成でETSを無効にしようとしました:
しかし、私は働きませんでした。:(
これが私がそれをどのように使用しているかの例です:
ありがとう!
node.js - overmind graphqlでPhoenix npmパッケージをインポートできません
npm install
エラーが発生した場合、run を使用してすべてのノード モジュールを再インストールしました。
Cannot find module 'phoenix' from 'node_modules/@absinthe/socket/compat/cjs/index.js'
@absinthe コードで最初に失敗します:
require('phoenix');
@absinthe/socket/compat/cjs/index.js で
しかし、overmind-graphql は phoenix にも依存しており、IDE は壊れたインポートを示しています: overmind-graphql の
import { Socket as PhoenixSocket } from 'phoenix';
この行
このためにインストールした関連パッケージのバージョン:
私は試した:
- 「phoenix」と「@absinthe/socket」は以前依存していたので、手動でインストールしました
- すべての node_modules を削除し、すべてのパッケージを再インストールします
- package-lock.json、node_modules を削除し、すべてのパッケージを再インストールします
- React コンポーネントで overmind のインポートを削除する: 失敗した phoenix インポートに到達しないため、エラーは発生しません
- 実行
next build
しnext start
、常にリロードする代わりにnext dev
graphql - absinthe - カスタム型からネストされたフィールドを解析する方法
スキーマにカスタム GeoPoint タイプを設定したいのですが、スキーマ タイプ ファイルでこれを行う方法の例が見つかりません。私が見つけた唯一の方法は、スキーマ ファイルで input_object を使用することでした。Absinthe.Blueprint.Input.Object を使用してこのようにすることは可能ですか??
これは私のカスタムタイプです:
これで、このミューテーションで新しいエントリを作成できます
そしてこれらの変数
次のようなものを使用して作成することをお勧めします
また