指令可以很好地改变解析器的行为,但是有没有一种方法可以直接用它们改变公开的模式呢?
例子
预期的超级用户架构
type Query {
getBooks: [Book]
getAuthors: [Author]
}
需要普通用户架构
type Query {
getBooks: [Book]
}
一个定义来构建它们
type Query {
getBooks: [Book] @allow(scopes: ["superuser"])
getAuthors: [Author]
}
作用域将通过给定的上下文定义,因为我将为每个可能的作用域构建一个架构。