2017-07-20 8 views
0

GraphQLの一般的なプラクティスは、特にqueryパラメータ、オプションのoperationName、およびオプションのJSONオブジェクトvariablesを提供することです。私が見てきたvariablesパラメータのどのようなタイプのGraphQL変数が許可されていますか?

すべての例では、単純なJSONオブジェクトです:

{ 
    "var1": "value1", 
    "var2": 2 
} 

各キーには、このような数値や文字列のような単純なJSON型の値を持ちます。

GraphQLの変数の値は、これよりも広範で、配列とオブジェクトの深い混合が可能ですか?

{ 
    "var1": "value1", 
    "var2": { 
    "name": "My Name", 
    "numbers": [1, 5, 11, 10] 
    } 
} 

答えて

2

ただし、スキーマに一致する入力タイプがあることを確認してください。だから、var2内の1つのような構造を持つ入力を受け入れるために、あなたはこのような何か必要があると思います:クエリ/変異の型定義のために、そして、

input VarInput { 
    name: String 
    numbers: [Int] 
} 

を...

type Query { 
    foo (var1: String, var2: VarInput): Foo 
} 

あなたのリゾルバは他の引数と同様にvar2を取得できます。

+0

あなたの答えをありがとう - 私はそれを正しいものとして受け入れるつもりです。私は、サーバがGraphQL型に変数を強制する方法についての情報があれば疑問に思いますか? –

+0

@BenCox使用しているGraphQLのどのような実装でも、スキーマの型定義を通じて入力した情報に基づいて、入力を正しい型に解決します。それがあなたが求めているのであれば、サーバー側に追加のステップは必要ありません。 –

関連する問題