如何解决 GraphQL 中的 syntaxError?

Posted

技术标签:

【中文标题】如何解决 GraphQL 中的 syntaxError?【英文标题】:How to solve syntaxError in GraphQL? 【发布时间】:2020-03-29 17:52:13 【问题描述】:

我有以下语法错误:

throw (0, _syntaxError.syntaxError)(this._lexer.source, token.start, "预期 ".concat(kind, ", found ").concat(getTokenDesc(token)));

这是我的架构:

app.use('/graphql', graphqlHTTP(
    schema: buildSchema('type RootQuery' +
        'events: [String!]!' +
        '' +
        'type RootMutation' +
        'createEvent(name: String): String' +
        '' +
        'schema' +
        'query: RootQuery' +
        'mutation: RootMutation' +
        ''),
    rootValue: 
        events: () =>
            return ['Hello1','Hello2','Hello3'];
        ,
        createEvent: (args)=>
            const eventName = args.name;
            return eventName;
        

    ,
    graphiql: true,
));

我尝试了几个小时来了解我在架构语法中的错误位置,但我找不到它。

【问题讨论】:

为什么这个标签是 mongo 【参考方案1】:

我少了几个逗号。

这是工作代码:

app.use('/graphql', graphqlHTTP(
    schema: buildSchema('type RootQuery' +
        'events: [String!]!' +
        ',' +
        'type RootMutation' +
        'createEvent(name: String): String' +
        ',' +
        'schema' +
        'query: RootQuery,' +
        'mutation: RootMutation' +
        ''),
    rootValue: 
        events: () =>
            return ['Hello1','Hello2','Hello3'];
        ,
        createEvent: (args)=>
            const eventName = args.name;
            return eventName;
        
    ,
    graphiql: true
));

【讨论】:

以上是关于如何解决 GraphQL 中的 syntaxError?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 graphql 查询中的嵌套项

如何使用一个查询来解决 graphQL 中的多个 Rest 往返?

如何从数据库中获取 Graphql 中的分页游标?

如何将graphQl查询中的变量转换为内联样式或样式组件中的伪元素

如何将 AST 转换为 GraphQL

如何使用 Apollo Server 2.0 GraphQL 将模式指令中的信息作为返回的数据包含在内?