【问题标题】:Is there any way to read GraphQL Directives on a Type with Query Introspection?有没有办法通过查询自省来读取类型上的 GraphQL 指令?
【发布时间】:2021-03-11 20:31:54
【问题描述】:

对于身份验证等用例,可以将自定义指令添加到 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")
}

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

这可能吗?您能否为上述示例提供示例查询?

【问题讨论】:

  • 为什么?更具体的用例? ...您可以检查用户角色/功能并使用@include'client'指令有条件地查询该字段(在FE上隐藏空/未定义)...或简单地使用其他查询集来获取不同的大写... UI在这种不使用自省的查询之前应该知道大写......当然,这会有所帮助,但不是 ATM
  • 为什么:自省根据应用于类型或查询的指令生成文档会很有用。

标签: graphql introspection


【解决方案1】:

GraphQL 目前不支持此功能。您可以使用自省来找出架构中存在哪些指令,但不能使用它来找出哪些字段应用了指令。您可以查看有关此问题的更多讨论here

【讨论】:

    猜你喜欢
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多