对于像身份验证这样的用例,向GraphQL模式添加自定义指令可能很有用,如留档所示:https://www.graphql-java.com/documentation/v16/sdl-directives
例如,员工类型有一个薪水字段,上面有一个指令,这意味着只允许经理角色读取它:
directive @auth(role: String!) on FIELD_DEFINITION
type Employee {
id: ID
name: String!
startDate: String!
salary: Float @auth(role: "manager")
}
从客户端,我希望能够使用自省查询读取员工类型上的这些指令。
这可能吗?您能为上面的示例提供示例查询吗?
GraphQL目前不支持这一点。您可以使用自省来找出架构中存在哪些指令,但不能使用它来找出哪些字段应用了指令。您可以在此处看到有关此问题的其他讨论。