我正在使用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查询。
答案 0 :(得分:3)
您在模式中指定的查询的行为与特定类型上的任何其他字段一样(主要区别是它们的类型链接到特定操作)。如果您不想为特定字段声明任何参数,则只需完全省略括号即可。查询和变异也是如此:
type Query {
users: Int
}
根据规格:
字段在概念上是函数,它们返回值,并偶尔接受会改变其行为的参数。这些参数通常直接映射到GraphQL服务器实现中的函数参数。
因此值得指出的是,任何Type的字段都可以带有参数。例如,查询可能如下所示:
query UsersQuery {
users {
name
posts (onlyNew: true) {
title
}
}
}