Graphql 图QL闭合支架位置
我的GraphQLAPI出现语法错误,我不知道为什么会发生这种情况。错误日志没有给出此语法错误的位置。我浏览了所有的模式,它们都有右括号Graphql 图QL闭合支架位置,graphql,Graphql,我的GraphQLAPI出现语法错误,我不知道为什么会发生这种情况。错误日志没有给出此语法错误的位置。我浏览了所有的模式,它们都有右括号 C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\error\syntaxError.js:24 return new _GraphQLError.GraphQLError("Syntax Error: ".concat(description), undefined, source
C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\error\syntaxError.js:24
return new _GraphQLError.GraphQLError("Syntax Error: ".concat(description), undefined, source, [position]);
^
Syntax Error: Expected Name, found }
GraphQL request (53:1)
52:
53: }
^
54:
at syntaxError (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\error\syntaxError.js:24:10)
at expect (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:1463:32)
at parseName (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:96:15)
at parseInputValueDef (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:920:14)
at many (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:1520:16)
at parseInputFieldsDefinition (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:1083:50)
at parseInputObjectTypeDefinition (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:1067:16)
at parseTypeSystemDefinition (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:736:16)
at parseDefinition (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:142:16)
at many (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:1523:16)
at parseDocument (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:113:18)
at Object.parse (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql\language\parser.js:48:10)
at Object.buildSchemaFromTypeDefinitions (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql-tools\src\generate\buildSchemaFromTypeDefinitions.ts:37:19)
at Object.makeExecutableSchema (C:\Users\Administrator\Desktop\PayMe\api\node_modules\graphql-tools\src\makeExecutableSchema.ts:52:18)
at new ApolloServerBase (C:\Users\Administrator\Desktop\PayMe\api\node_modules\apollo-server-core\src\ApolloServer.ts:195:21)
at new ApolloServer (C:\Users\Administrator\Desktop\PayMe\api\node_modules\apollo-server-express\src\ApolloServer.ts:68:1)
at Object.<anonymous> (C:\Users\Administrator\Desktop\PayMe\api\src\app.ts:31:16)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Module.m._compile (C:\Users\Administrator\Desktop\PayMe\api\node_modules\ts-node\src\index.ts:439:23)
at Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Object.require.extensions.(anonymous function) [as .ts] (C:\Users\Administrator\Desktop\PayMe\api\node_modules\ts-node\src\index.ts:442:12)
at Module.load (internal/modules/cjs/loader.js:653:32)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! type@1.0.0 start: `ts-node ./src/app.ts`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the type@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Administrator\AppData\Roaming\npm-cache\_logs\2019-07-04T21_23_11_333Z-debug.log
组架构:
type Group {
groupID: Int!
name: String!
description: String
avatar: String
}
input GroupInput {
name: String
description: String
avatar: String
userID: String
}
type Query {
groups: [Group]
getGroup(groupID: Int!): Group @isAuth
getUserGroups(userID: Int!): [Group] @isAuth
}
type Mutation {
createGroup(data: GroupInput): Group @isAuth
addMemberToGroup(userID: Int!, groupID: Int!): Group @isAuth
}
模式的成员:
type MemberOf {
id: Int!
groupID: Int
userID: Int
isOwner: boolean
isAdmin: boolean
}
type Query {
}
type Mutation {
}
我不确定这些模式的编译顺序。在我尝试建立组和用户之间的关系之前,它用于编译和运行。我已经将@belongstomy添加到用户和组中,将@ForiegnKey添加到MemberOf中。在GraphQL文档中,花括号有三个用途。在可执行文档中,它们标识一个选择集或一组被请求的字段。在类型定义中,它们要么标识一组字段(用于对象类型、输入对象类型或接口),要么标识一组枚举值在所有三种情况下,提供的集合不能为空。也就是说,如果使用花括号,则必须在括号内提供至少一项 空的一对花括号(
{}
)将始终提供语法错误
如果不需要提供选择集/字段集/枚举值集,只需省略花括号即可:
# Invalid
type Query {
}
# Valid (at least syntactically)
type Query
花括号在GraphQL文档中有三个用途。在可执行文档中,它们标识一个选择集或一组被请求的字段。在类型定义中,它们要么标识一组字段(用于对象类型、输入对象类型或接口),要么标识一组枚举值在所有三种情况下,提供的集合不能为空。也就是说,如果使用花括号,则必须在括号内提供至少一项 空的一对花括号(
{}
)将始终提供语法错误
如果不需要提供选择集/字段集/枚举值集,只需省略花括号即可:
# Invalid
type Query {
}
# Valid (at least syntactically)
type Query
如果不包括您的模式,就不可能有人告诉您问题所在。我可以告诉你1)这不是一个缺少的括号,而是一个预期为a的括号,通常意味着你遗漏了一些关键词;2)错误在模式的第53行。如果您有多个要合并的架构文件,则需要计算它们的合并顺序以确定位置。如何计算我的多个架构文件的合并顺序?@DanielRearden请使用相关代码更新您的问题,而不实际包括您的架构,不可能有人告诉你问题出在哪里。我可以告诉你1)这不是一个缺少的括号,而是一个预期为a的括号,通常意味着你遗漏了一些关键词;2)错误在模式的第53行。如果您有多个要合并的架构文件,则需要计算它们的合并顺序以确定位置。如何计算我的多个架构文件的合并顺序?@DanielRearden请使用相关代码更新您的问题