2017-06-06 19 views
0

このクエリでは、graphQLでdesiredSubfieldの解決関数が呼び出されず、クエリはnullを返します。ネストされたフィールドを適切に解決するにはどうすればよいですか?ネストされたフィールドのGraphql解決関数が呼び出されない

問合せ:

{ 
    "query": "query ($requiredArg: String!, $anotherArg: String) { user(requiredArg: $requiredArg) { desiredSubfield(anotherArg: $anotherArg) { _id name} } }", 
    "variables": { 
     "requiredArg": "someString", 
     "anotherArg": "anotherString" 
    } 
} 

関連するオブジェクト:私はそれを考え出したよう

export default { 
    type: userType, 
    args: { 
    requiredArg: { 
     name: 'requiredArg', 
     type: new GraphQLNonNull(GraphQLString), 
    }, 
    fields:() => { 
    return { 
     desiredSubfield: { 
     type: subfieldType, 
     args: subfieldType.args, 
     resolve(source, params, root, ast) { 
      console.log('subfield resolve is hit'); 
      return fetchUser(); 
     }, 
     }, 
    }; 
    }, 
    resolve(source, params, root, ast) { 
    console.log('in main resolve'); 
    } 
}; 

答えて

2

まあ、

問題は、私が書いたダミー解決機能である(ため息)を探しますネストされていないフィールドは返されませんでした。修正を見てください:

export default { 
    type: userType, 
    args: { 
    requiredArg: { 
     name: 'requiredArg', 
     type: new GraphQLNonNull(GraphQLString), 
    }, 
    fields:() => { 
    return { 
     desiredSubfield: { 
     type: subfieldType, 
     args: subfieldType.args, 
     resolve(source, params, root, ast) { 
      console.log('subfield resolve is hit'); 
      return fetchUser(); 
     }, 
     }, 
    }; 
    }, 
    resolve(source, params, root, ast) { 
    console.log('in main resolve'); 
    return true; 
    } 
}; 

他の誰かが同じことを実行する場合は、このままにしておきます。

関連する問題