在Neo4j Graphql Apollo服务器类型定义中,如何用空格添加名称?

时间:2018-11-14 21:14:35

标签: neo4j graphql apollo-server express-graphql grandstack

我的类型定义是这样的

apollo server GraphQLError: Syntax Error: Expected Name, found :

我说错了

{{1}}

如果删除空格和引号,则不会出现错误。我到处搜索过,但无法添加带有空格的名称。

任何帮助将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:3)

GraphQL不支持名称中的空格。根据{{​​3}},名称必须与以下正则表达式匹配:

/[_A-Za-z][_0-9A-Za-z]*/

GraphQL实际上会忽略文档中的所有空白,但字符串和注释中的空白除外:

  

空白用于提高源文本的可读性,并用作标记之间的分隔,并且在任何标记之前或之后可能会出现任何数量的空白。令牌之间的空格对于GraphQL文档的语义意义不重要,但是字符串或注释令牌中可能会出现空格字符。

即使在技术上受支持,您也可能首先不应该在节点名称中使用空格。这是spec

  

驼峰式大写字母大写字母

如果数据源返回的对象的字段名称中包含空格,则可以将其转换为解析器映射中的“合法”字段名称。例如,给定类型为Company的字段为airlineSegment

const resolvers = {
  Company: {
    airlineSegment: company => company['AIRLINE SEGMENT']
  }
}