Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 必须提供graphqljs-查询根类型_Javascript_Graphql_Graphql Js - Fatal编程技术网

Javascript 必须提供graphqljs-查询根类型

Javascript 必须提供graphqljs-查询根类型,javascript,graphql,graphql-js,Javascript,Graphql,Graphql Js,我如何避免这个错误?对于这个特定的模式,我不需要任何查询(它们都是突变)。我无法传递null,如果传递的是空的GraphQLObjectType,则会显示错误: Type Query must define one or more fields. 如果您正在使用(也可能使用其他SDL工具),则可以使用以下命令指定空类型(例如Query): 而不是 type Query {} 如果以编程方式构建模式,则必须添加虚拟查询,如下所示: new GraphQLObjectType({ name:

我如何避免这个错误?对于这个特定的模式,我不需要任何查询(它们都是突变)。我无法传递
null
,如果传递的是空的
GraphQLObjectType
,则会显示错误:

Type Query must define one or more fields.
如果您正在使用(也可能使用其他SDL工具),则可以使用以下命令指定空类型(例如
Query
):

而不是

type Query {}
如果以编程方式构建模式,则必须添加虚拟查询,如下所示:

new GraphQLObjectType({
  name: 'Query',
  fields: {
    _dummy: { type: graphql.GraphQLString }
  }
})
这是SDL的编程等价物:

type Query {
  _dummy: String
}

如果您使用的是Node.js express-

您的模式应该同时具有根查询和根变异,尽管您没有任何查询解析器,但仍然需要定义根查询

例如-

type RootQuery {
hello: String!
}

schema {
    query: RootQuery
    mutation: RootMutation
}

奇怪的是,即使不需要查询,也需要指定查询。在我再次给出答案后,我会将其标记为答案。@A.Lau将其标记为已接受是安全的。如果选中,它会明确指出“[t]必须提供查询根操作类型,并且必须是对象类型。”只有变异和订阅根操作类型是可选的。
type RootQuery {
hello: String!
}

schema {
    query: RootQuery
    mutation: RootMutation
}