如何正确声明不带参数的GraphQL查询。

时间:2018-10-11 22:58:57

标签: visual-studio-code graphql lint

我正在使用vs代码+ graphql-cli来验证和整理模式。在以下声明中(在graphql模式文件中):

type Query {
  users(): Int
}

上面的users声明被标记为en错误,但是服务器并没有引起任何问题(或警告)-只是vs代码,graphql lint将其报告为错误:< / p>

2:9 Syntax Error: Expected Name, found )  undefined

如果我向查询添加参数,例如:

type Query {
  users(n: Int): Int
}

然后,vs代码或graphql-cli报告没有问题。 如何正确声明不带参数的graphql查询。

1 个答案:

答案 0 :(得分:3)

您在模式中指定的查询的行为与特定类型上的任何其他字段一样(主要区别是它们的类型链接到特定操作)。如果您不想为特定字段声明任何参数,则只需完全省略括号即可。查询和变异也是如此:

type Query {
  users: Int
}

根据规格:

  

字段在概念上是函数,它们返回值,并偶尔接受会改变其行为的参数。这些参数通常直接映射到GraphQL服务器实现中的函数参数。

因此值得指出的是,任何Type的字段都可以带有参数。例如,查询可能如下所示:

query UsersQuery {
  users {
    name
    posts (onlyNew: true) {
      title
    }
  }
}