【问题标题】:Having issues with a GraphQL schema in ApolloApollo 中的 GraphQL 模式存在问题
【发布时间】:2019-12-28 23:37:10
【问题描述】:

我正在使用 Apollo 2 构建 Express 服务器。我有以下架构:

const typeDefs = gql `{     
    type Movie {
      id: ID!
      title: String
      year: String
      rating: String      
    }

    type Query {
      movies: [Movie]
    }
  }`;

当我运行应用程序时,我收到此错误:

GraphQLError: Syntax Error: Expected Name, found !

这是我正在使用的软件包列表(不相关的软件包已删除):

"apollo-server-express": "^2.8.2", "body-parser": "^1.19.0", "express": "^4.17.1", "graphql": "^14.4.2", "graphql-tools": "^4.0.5",

我已经使用版本 1 完成了此操作,没有任何问题。我错过了一个包裹吗?我错过的语法是否有错字或更改?我已经看了几个小时了,无法弄清楚问题出在哪里。

谢谢, 詹姆斯

【问题讨论】:

  • 我认为你所做的是将它推下树并在顶部留下一个空隙。服务器很困惑,因为类型应该在第一个括号之前。

标签: javascript express graphql apollo apollo-server


【解决方案1】:

没有必要用一对花括号来包裹您的文档。它应该只是

const typeDefs = gql`     
  type Movie {
    id: ID!
    title: String
    year: String
    rating: String      
  }

  type Query {
    movies: [Movie]
  }
`

使用 SDL 时,大括号仅在指定字段列表或枚举值时使用。

【讨论】:

  • 谢谢,就是这样!
猜你喜欢
  • 2020-09-04
  • 2018-04-12
  • 2019-03-01
  • 2019-04-22
  • 2019-05-10
  • 2018-04-23
  • 2019-04-17
  • 2020-12-03
  • 2021-10-04
相关资源
最近更新 更多