2015-09-18 23 views
7

私はGraphiQLインターフェイスでGraphQLを使って簡単な突然変異をしようとしています。変数とGraphQLの突然変異変数

mutation M($name: String) { 
    addGroup(name:$name) { 
    id, 
    name 
    } 
} 

{ 
    "name": "ben" 
} 

をしかし、それは私にエラー与える:私の変異は、このようになります私は期待どおりに動作しますmutation M($name: String = "default")に自分の変異を変更する場合はVariable $name of type "String" used in position expecting type "String!"

を。これは型システムに関連しているように見えますが、問題の内容を把握できていないようです。

答えて

6

入力名をnullでない文字列(jsサーバを使用している場合はtype: new GraphQLNonNull(GraphQLString)、プレーンなGraphQLではString!)と定義した可能性があります。

したがって、突然変異の入力が一致する必要があります。つまり、null以外の文字列も必要です。次に変更すると、動作するはずです:

mutation M($name: String!) { 
    addGroup(name:$name) { 
    id, 
    name 
    } 
} 

また、あなたがやったとして、それはあなたがnull以外の文字列であるので、あなたは、デフォルト値を定義した場合。

最後に、サーバー内にnull以外の要件を削除できます。

0

私はあなたに名の引数の型new GraphQLNonNull(GraphQLString)あるString!であるaddGroup()突然変異と思うが、あなたの突然変異であなたは、型システムと競合Stringとして指定します。

関連する問題