2016-04-21 4 views
5

私はGraphQLを実験しており、突然変異を実行しようとしているときにどのような根の値を提供するかを理解する助けが必要です。GraphQL突然変異に使用する根の値を決定する方法

具体例:現在ログインしているユーザーのユーザー名を更新したいとします。この突然変異は次のようになります。

ここで提供するルートオブジェクトは現在のユーザーです。しかし、突然変異を解析して名前を見ることなく突然変異を受け取ったとき、どうやってこれを知っていますか? 1つのエンドポイントだけが存在するため、URLに基​​づいて判断することはできません。また、文字列を解析するだけで、それをさらに解析してどこに送るかは、無駄になります。

URLに追加のパラメータを指定するか、アプリケーションにコンテキストを追加するために本文を要求するのが一般的なのでしょうか?

答えて

5

URLにデータを追加するのは一般的ではありませんが、各突然変異は関数によってサポートされているため、名前を解析する必要はありません。

突然変異は常にトップレベルなので、ルートオブジェクトは常にトップレベルのルートオブジェクトになります。別のオブジェクトにアクセスする必要がある場合は、それを取得するのに十分な情報を提供していることを確認する必要があります

現在ログインしているユーザーを追跡するには、GraphQLを実行する最初の引数の1つであるcontext各解像度機能で提供されます。コンテキストは、ログインしたユーザーを追跡するために非常によく使用されます。

"changeMyUsername"を定義し、ログインしたユーザーがいて、新しいユーザー名で引数が指定されているので、その関数の本体を実装するために必要なものがすべて必要です。

関連する問題