我的类型定义是这样的
apollo server GraphQLError: Syntax Error: Expected Name, found :
我说错了
{{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']
}
}