未调用特定字段的GraphQL解析器

未调用特定字段的GraphQL解析器,graphql,prisma,express-graphql,Graphql,Prisma,Express Graphql,为了便于学习,我编写了简单的GraphQL模式和解析器,但我无法理解为什么我的代码能按预期工作。我将Prisma用于ORM,并使用express graphql和graphql import来编写API type User { id: ID! name: String! } type Link { id: ID! url: String! user: User! } type Query { links(id: ID!): [Link!]! } //解析器 常量链接

为了便于学习,我编写了简单的GraphQL模式和解析器,但我无法理解为什么我的代码能按预期工作。我将Prisma用于ORM,并使用
express graphql
graphql import
来编写API

type User {
  id: ID!
  name: String!
}

type Link {
  id: ID!
  url: String!
  user: User!
}

type Query {
  links(id: ID!): [Link!]!
}
//解析器
常量链接=异步(根、参数、ctx)=>{
const links=等待ctx.prisma.links({
其中:{
使用者{
id:args.id
}
}
}
}
//用于'Link'类型的解析器
const user=async(root、args、ctx)=>{
const user=wait ctx.prisma.link({id:parent.id}).user()
返回用户
}
//省略了'url'和'id'的字段解析器`
module.exports={
用户
}

有了这些代码,当我查询
链接
时,我希望得到
id
url
user
字段,但是当我发送查询时,它返回
null
user
字段。这意味着,如果我在服务器端检查,
user
字段的解析程序根本不会被调用。这有什么问题吗is?

请告诉我什么结果来自服务器端?什么结果来自prisma链接?您是如何编写
user
resolver的?能否共享代码片段,其中所有解析程序都被合成/组合到单个对象中?另外,当数据可以从中返回时,为
user
字段编写自定义解析程序的原因是什么
链接
解析器?