【发布时间】:2021-04-19 13:13:19
【问题描述】:
我正在编写一个使用 type-graphql 的后端应用程序。 GraphQL 架构包含一个 Folder 类型,如下所示:
type Folder {
id: ID!
name: String!
rules: [Rule!]!
parent: Group
}
Rule 和 Group 是其他类型。
我的解析器定义了一个名为 folders 的查询,它返回所有文件夹:
import {Query, Resolver} from 'type-graphql'
@Resolver(() => Folder)
export default class FolderResolver {
@Query(() => [Folder])
folders(): Promise<Folder[]> {
// query db and return results
}
}
要从数据库中查询文件夹、它们的规则和它们的父组,我必须加入数据库表并返回加入的结果,这没有问题。但是:如果在 GraphQL 查询中没有请求 rules 字段和/或 parent 字段,我可以省略连接并使数据库查询更加高效。因此,在 GraphQL 查询中请求的字段对我需要执行的逻辑有明确的影响,但我看不到在 folders 函数中找出请求的字段的方法。
在执行 type-graphql Resolver 中的查询时,有没有办法确定 GraphQL 查询中请求了哪些字段?
【问题讨论】:
标签: typescript graphql typegraphql