Nest.js GraphQL 字段解析器

Yev*_*huk 2 graphql nestjs

我的问题更多的是如何实现这一点。我在文档中没有找到答案,所以问你);

例如:

  • 我有 2 个实体用户和博客;

  • 用户与博客是一对多关系;

  • 我对用户的查询如下所示:

query {
    me {
        firstName
        lastName
        blogs {
            title
            description
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在 Nest.js 代码中我有解析器:

query {
    me {
        firstName
        lastName
        blogs {
            title
            description
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是如果我们尝试将查询更改为:

query {
    me {
        firstName
        lastName
        blogs {
            title
            description
            user {
                id
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:我们可以将 ResolveField 委托给另一个解析器(例如 BlogResolver)吗?

小智 9

是的,您可以将 ResolveField 装饰器添加到 BlogResolver 中以实现循环结构

@Resolver(() => BlogEntity)
class BlogResolver {

    @ResolveField(() => [UserEntity])
    user() {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)