首页 > 解决方案 > 修改 GraphQL Schema-Parser

问题描述

我想根据自己的需要修改 graphql 语法和解析过程。
例如,客户端可以使用基于路径的参数发送查询:

type Foo {
  name: String
  anotherField: String
  bar: Bar
}

type Bar {
  name: String
  anotherField: String
}

type Query {
  foos(arg: String): [Foo]
}

#relevant part: bar.name
query {
  foo(arg: bar.name) {
    name
    anotherField
  }
}

优点:例如过滤嵌套对象而不在查询中设置它们。我知道解析器的更改是必要的,但首先解析器(和词法分析器!?)必须接受“新”语法。目前这个概念正在引起

GraphQLError: Unexpected character ".". 

有任何想法吗?

我知道像 Prisma 或 Hasura 这样的一些库已经实现了很好的过滤器替代方案,但我需要我的自定义解决方案。

标签: parsinggraphqlgraphql-js

解决方案


推荐阅读