假设我们有这个GraphQL模式:
gql`
type Department {
id: ID!
name: String!
programs(programId: ID): [Program]! # filter if an ID is provided
}
type Program {
id: ID!
name: String!
department: Department
}
extend type Query {
getDepartments: [Department]
}
`
这里的[可能]问题是您可以进入此循环:
{
getDepartments {
name
programs(1) {
name
department {
name
program(1) {
...
}
}
}
}
}
我是GraphQL的新手,所以我首先想知道这是否有问题吗?我有这种感觉,但可能还可以。
我尝试使用此替代方法:
gql`
type Department {
id: ID!
name: String!
programs(programId: ID): [Program] # filter if an ID is provided
}
type Program {
id: ID!
name: String!
}
extend type Query {
getDepartments: [Department]
getDepartmentForProgram(programId: ID!): Department
}
`
有了这个,孩子们无法直接与父母取得联系,这现在是一个热门查询。我的第二个担心是要知道这是否是一个很好的选择,尤其是如果第一个是一个问题。
谢谢。