Apollo 中的 GraphQL 模式存在问题
Posted
技术标签:
【中文标题】Apollo 中的 GraphQL 模式存在问题【英文标题】:Having issues with a GraphQL schema in Apollo 【发布时间】: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 完成了此操作,没有任何问题。我错过了一个包裹吗?我错过的语法是否有错字或更改?我已经看了几个小时了,无法弄清楚问题出在哪里。
谢谢, 詹姆斯
【问题讨论】:
我认为你所做的是将它推下树并在顶部留下一个空隙。服务器很困惑,因为类型应该在第一个括号之前。 【参考方案1】:没有必要用一对花括号来包裹您的文档。它应该只是
const typeDefs = gql`
type Movie
id: ID!
title: String
year: String
rating: String
type Query
movies: [Movie]
`
使用 SDL 时,大括号仅在指定字段列表或枚举值时使用。
【讨论】:
谢谢,就是这样!以上是关于Apollo 中的 GraphQL 模式存在问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Apollo Server 2.0 GraphQL 将模式指令中的信息作为返回的数据包含在内?
我们如何从 apollo-server 模块传递 ApolloServer 中的数据源和合并的 graphql 模式和解析器?