2017-07-28 22 views
0

プロジェクトでgraphqlを使用し、graphql-java 2.3.0を使用します(更新する予定ですが、現時点では不可能です)。graphqlでnullをフィールドに設定する方法は?

私は、このような突然変異を実行しようとしている:

mutation { 
    UPDATE_User(

     id:3, 
     type: null 
    ) {id} 
    } 

応答:

{ 
    "errors": [ 
    { 
     "validationErrorType": "WrongType", 
     "message": "Validation error of type WrongType: argument value EnumValue{name='null'} has wrong type", 
     "locations": [ 
     { 
      "line": 5, 
      "column": 7 
     } 
     ], 
     "errorType": "ValidationError" 
    } 
    ], 
    "data": null 
} 

答えて

1

ヌルキーワードはGraphQL仕様に比較的新しく追加され、あなたがしているgraphql-javaのバージョンusingをまだ実装していません。実際には、3.0.0でもまだそれがありません。すぐにリリースされる予定の4.0はnullキーワードをサポートします。
そして、引用符で囲まれていない文字列は通常はenumであるため、nullが唯一の例外です。これはthis issueでも説明されています。

+0

が表示されます。ありがとうございました。しかし、推奨される回避策は何ですか?私はnullが今までgraphqlユーザによって使用されていなかったとは思わない。 –

+0

@Don_Quijote Nullは数か月前に追加されました。これに先立って、あなたができることは 'type'をまったく送信しないことですが、_updateをnull_と区別することはできません。これが重要な場合は、特別なマーカー値を 'type'に設定する必要があります。 'type:" NONE "'バックエンドで適切に処理します。 – kaqqao

0

スキーマでは、 'type'パラメータが必要ですか?

それ以外の場合は、単に省略してください。バックエンドでtypeの値を取得すると、nullになります。

関連する問題