2017-10-12 3 views
0

私はリソースにアクセスするためにユーザーが認証されることを要求する操作getFooを持っています。単一のクエリで突然変異とクエリを組み合わせる方法は?

ユーザーは、突然変異authenticateを使用して認証します。

mutation { 
    authenticate (email: "foo", password: "bar") { 
    id 
    } 
} 

ユーザーが認証されると、二つのことが起こる:

  1. を要求コンテキストが認証の詳細
  2. で濃縮されているクッキーを

を作成しているしかし、私はしたいと思います単一の要求に認証とgetFooメソッド呼び出しを組み合わせる

mutation { 
    authenticate (email: "foo", password: "bar") { 
    id 
    } 
} 
query { 
    getFoo { 
    id 
    } 
} 

後者は構文エラーを生成します。

突然変異とクエリを組み合わせる方法はありますか?

答えて

0

GraphQL仕様に従って1つのリクエストで突然変異とクエリを送信する方法はありません。

しかし、任意のフィールドを突然変異ペイロードに追加することができます。例えばあなたがauthenticate突然変異のためにサポートする必要があるクエリのほんの一握り、あなたはこのために可能性があるので、もし:

mutation { 
    authenticate (email: "foo", password: "bar") { 
    id 
    getFoo { 
     id 
    } 
    } 
} 

一日の終わりには、それが突然変異を維持する方がよいかもしれませんし、クエリは別です。このような多くの突然変異に多くのクエリーを含めるには、非常に素早く髪の毛が出ます。私はここで追加の要求のオーバーヘッドに問題は見られません。

関連する問題