有什么方法可以通过查询自省来读取类型上的 GraphQL 指令吗?

Jer*_*rks 9 introspection graphql

对于身份验证等用例,可以将自定义指令添加到 GraphQL 模式,如文档中所示: https: //www.graphql-java.com/documentation/v16/sdl-directives

例如,Employee 类型有一个薪资字段,其中包含指令,这意味着只有经理角色才允许读取它:

directive @auth(role: String!) on FIELD_DEFINITION

type Employee {
  id: ID
  name: String!
  startDate: String!
  salary: Float @auth(role: "manager")
}
Run Code Online (Sandbox Code Playgroud)

从客户端,我希望能够使用内省查询读取有关 Employee 类型的这些指令。

这可能吗?您能为上面的示例提供一个示例查询吗?

Dan*_*den 7

GraphQL 目前不支持此功能。您可以使用内省来找出模式中存在哪些指令,但不能使用它来找出哪些字段应用了指令。您可以在此处查看有关此问题的其他讨论。