2017-03-22 20 views
1

のは、私のクエリは次のようになりましょう:ネストされたリゾルバをスキーマに追加する方法は?

query { 
    post { 
    id 
    user { id, name } 
    } 
} 

とレゾルバ・マップは、次のようになります。私はpost.userのために追加の「ネストされた」リゾルバを追加することができますどのように

{ 
    Query: { 
    post: myPostResolverFunc, 
    } 
} 

? 私はこれを試してみましたが、それは動作しません:あなたは自分のフィールドのリゾルバを記述する必要が

addResolveFunctionsToSchema(schema, { 
    Query: { 
    post: { 
     user: postUserResolveFunc, 
    }, 
    } 
}); 

答えて

2

addResolveFunctionsToSchema(schema, { 
    Post: { 
    user(root) { 
     getUserById(root.user) 
    } 
    } 
    Query: { 
    post(root, args, context) { 
     return getPostById(args.id) 
    } 
    } 
}); 
:あなたはこのようなリゾルバを書くことができます

type Post { 
    id: ID!, 
    user: User 
} 

type User { 
    id: ID!, 
    username: String! 
} 

type Query { 
    post(id: ID!): Post #assuming you want to request a simple post here 
} 

:あなたのスキーマと仮定すると、このようなものです

関連する問題