代码之家  ›  专栏  ›  技术社区  ›  Johannes Merz

通过指令更改公开的graphql模式

  •  0
  • Johannes Merz  · 技术社区  · 6 年前

    指令可以很好地改变解析器的行为,但是有没有一种方法可以直接用它们改变公开的模式呢?

    例子

    预期的超级用户架构

    type Query {
      getBooks: [Book]
      getAuthors: [Author]
    }
    

    需要普通用户架构

    type Query {
      getBooks: [Book]
    }
    

    一个定义来构建它们

    type Query {
      getBooks: [Book] @allow(scopes: ["superuser"])
      getAuthors: [Author]
    }
    

    作用域将通过给定的上下文定义,因为我将为每个可能的作用域构建一个架构。

    0 回复  |  直到 6 年前