GraphQL,使用 GraphiQL 的查询语法不正确
Posted
技术标签:
【中文标题】GraphQL,使用 GraphiQL 的查询语法不正确【英文标题】:GraphQL, incorrect syntax for query using GraphiQL 【发布时间】:2018-05-25 12:32:11 【问题描述】:GraphQL 新手,我在通过 GraphiQL 发送查询时遇到问题。
这是我的 schema.js
const graphql = require('graphql');
const _ = require('lodash');
const
GraphQLObjectType,
GraphQLInt,
GraphQLString,
GraphQLSchema
= graphql;
const users = [
id:'23', firstName:'Bill', age:20,
id:'47', firstName:'Samantha', age:21
];
const UserType = new GraphQLObjectType(
name: 'User',
fields:
id: type: GraphQLString,
firstName: type: GraphQLString,
age:type: GraphQLInt
);
const RootQuery = new GraphQLObjectType(
name: 'RootQueryType',
fields:
user:
type: UserType,
args:
id: type: GraphQLString
,
resolve(parentValue, args) // move the resolve function to here
return _.find(users, id: args.id);
,
);
module.exports = new GraphQLSchema(
query: RootQuery
);
当我在 graphiql 上运行以下查询时:
query
user
id: "23"
我收到“语法错误 GraphQL 请求 (3:9) 预期名称,找到字符串”,但我希望得到 id 为“23”的用户。
我错过了什么?
【问题讨论】:
【参考方案1】:你将你的参数值放在你的选择上,它应该看起来像
query
user(id: “23”)
id
firstName
age
请查看教程http://graphql.org/graphql-js/passing-arguments/的参数部分
【讨论】:
以上是关于GraphQL,使用 GraphiQL 的查询语法不正确的主要内容,如果未能解决你的问题,请参考以下文章
使用 React 查询 GraphQL 时 JSON 意外结束,而 GraphiQL 没有问题
GraphQL 查询从 JSON 数据源返回 GraphiQL 和 App 中的空对象
当我通过 graphiql 发送查询时,graphql JS 返回 null
使用 GraphiQL 或 GraphQL 端点生成 schema.json