【发布时间】:2019-08-15 22:35:01
【问题描述】:
如果我有 2 种类型:User 和 Note,具有以下架构:
query {
getUser(userId: ID!): User
}
type User {
userId: ID
email: String
notes: [Note]
}
type Note {
noteId: ID
text: String
}
我正在为User#notes 编写解析器。现在说需要通过电子邮件地址检索笔记,所以我实际上需要将根对象传递给解析器以包含email 字段,无论如何我可以强制GraphQL 查询User 对象中的email 字段即使用户没有请求?
在代码方面,来自what I see,这就是我可以编写解析器的方式。每当用户请求note 字段时,如何确保请求obj.email?
User: {
notes(obj, args, context, info) {
// How can I ensure obj.email is requested?
return NoteRetriever.getNotesByEmail(obj.email);
}
}
编辑
我想知道父解析器不解析 email 字段的情况,除非明确要求。如果我们需要调用 API 来获取用户的电子邮件怎么办?所以默认情况下我们不要求它。但是,在请求注释时,也可以请求电子邮件。
有没有办法让解析器指定对父字段的依赖 - 以确保得到请求?
【问题讨论】:
标签: graphql graphql-js