在应用中,您可以查看自己的个人资料并查看其他人的个人资料:
您是否将此设计为1个带有可选ID arg的查询?
profile: async (root, { id }, context) => {
if (!context.user) throw unauthorized error
if (id)
profile = get profile for the passed in id
return profile
// if no id passed, get the current user instead
profile = get profile for context.user.id
return profile
}
或2个单独的查询,1个用于当前登录的用户,1个用于其他用户?
ownProfile: async (root, {}, context) => { get from context.user.id }
profile: async (root, { id }, context) => { get from id arg } // otherProfile
答案 0 :(得分:1)
我会把两者都当作返回相同类型的对象,而是回答不同的问题。
GraphQL的优势在于表现力。
当然,您可以在后台使用解析器逻辑。