問題タブ [graphiql]
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.
ruby-on-rails - GraphQL/Rails 422 Unprocessable Entity - セッションへのトークンの保存
私は現在、プロジェクトの Rails バックエンドを REST から Graphql に変更する作業を行っていますが、チュートリアルに従って認証でエラーが発生しています - https://www.howtographql.com/graphql-ruby/4-authentication/
GraphiQL エンジンを使用してすべてのリクエストをテストし、エラーを受け取りましたstatus 422 unprocessable Entity, User Must Exist
私が実行している突然変異は新しい色を作成することであるため、これは理にかなっています-これはbelongs_to
ユーザーと関係があります。
上にリンクされたページの約半分^^^^それはこれを言います:
ミューテーションが提供するトークンを使用して
signinUser
、アプリは後続のリクエストを認証できます。これを行うにはいくつかの方法があります。このチュートリアルでは、組み込みの sessionを使用するだけです。これは、クライアント アプリケーションに要件を追加しないためです。GraphQL サーバーは、各リクエストのセッション ヘッダーからトークンを取得し、関連するユーザーを検出して、この情報をリゾルバーに渡すことができる必要があります。
signinUser
ドキュメントが同じページで以前に示したようなメソッドを介して認証トークンを正常に返すことができます-それが投稿するメソッドは、このメソッドでこの想定されたセッションにトークンを保存します(これも上に投稿された同じリンクから^ ^^) :
メソッドが戻る直前にセッションを p アウトし、ユーザーがサインインするためのトークンが含まれていることに驚くことはありませんでした。
しかし、ミューテーションを実行して色を作成したとき、セッションにはまだそのトークンが含まれており、その色を正常にコミットできると期待していました。そうではなく、このリクエストのセッションを p'd にすると、空のハッシュが返されます。
組み込みのgraphqlセッションがどのように機能するかについての情報を見つけることができません-そして、私は一般的にgraphqlにまったく慣れていません。
私の主な質問は、graphqlセッションはトークン情報をキャッシュすることになっているのでしょうか? 以下のリクエストに情報が引き継がれないのはなぜsigninUser
ですか?ドキュメントでは、この認証方法は長期的な解決策ではないと主張しているため、このチュートリアルで認証を使用しようとすることさえ気にする必要がありますか?
私はこれがたくさんあることを知っていますが、これについて余分な頭脳を本当に感謝しています.
前もって感謝します!
PS。チュートリアルではリンクを使用していることを理解しており、ここでは色を使用しています。これは意図的なものであり、セマンティックの違いによってエラーが発生していないことを確認するために最善を尽くしました。
Rails バージョン - 5.2.2 (API のみを使用)
グラフql-1.7.4
グラフィックレール - 1.4.4
graphql - GraphQLは変数からイントロスペクションを追加します
変数からアプリにイントロスペクションを追加したいと考えています。
私はこの種の内省を持っています:
(休憩リクエストから取得しています)
この変数をスキーマ プロバイダーにしたいのですが、可能ですか?
完全な変数はこちら: https://stackblitz.com/edit/ts-graphql-demo-ypgi18?file=index.tsx
ありがとう
graphql - GraphQL エラー:CryptoCompare API からデータをフェッチするときに「Iterable が期待されますが、フィールド Query のものが見つかりませんでした」
GraphQL/express/express-graphql/axios を使用して、CryptoCompare API から特定のコイン データを取得しています。
2 つのエンドポイントがあります。
1) https://min-api.cryptocompare.com/data/pricemultifull?fsyms=BTC,ETH,LTC,BCH,NEO,ETC,XMR&tsyms=USD
2) https://min-api.cryptocompare.com/data/coin/generalinfo?fsyms=BTC&tsym=USD
2 つのファイルを使用してバックエンド サーバーをセットアップし、graphiql を使用してクエリをテストしました。
ファイル 1 - server.js
ファイル 2 - schema.js
これでクエリをテストするためにgraphiqlを使用すると:
...次のエラーが表示されます。
このエラーを回避するにはどうすればよいですか? ありがとう。