Graphql 图QL闭合支架位置

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

我的GraphQLAPI出现语法错误,我不知道为什么会发生这种情况。错误日志没有给出此语法错误的位置。我浏览了所有的模式,它们都有右括号

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请使用相关代码更新您的问题