我的类型定义是这样的
type COMPANY {
"AIRLINE SEGMENT": String
AIRLINE_TYPE: String
}
我收到一条错误消息
apollo server GraphQLError: Syntax Error: Expected Name, found :
如果我删除空格和引号,那么我不会收到错误消息。我到处搜索,但我没有办法在其中添加带有空格的名称。
任何帮助将不胜感激。谢谢。
我的类型定义是这样的
type COMPANY {
"AIRLINE SEGMENT": String
AIRLINE_TYPE: String
}
我收到一条错误消息
apollo server GraphQLError: Syntax Error: Expected Name, found :
如果我删除空格和引号,那么我不会收到错误消息。我到处搜索,但我没有办法在其中添加带有空格的名称。
任何帮助将不胜感激。谢谢。
GraphQL 不支持名称中的空格。根据规范,名称必须匹配以下正则表达式:
/[_A-Za-z][_0-9A-Za-z]*/
GraphQL 实际上会忽略文档中的所有空白,字符串和注释中的空白除外:
空格用于提高源文本的易读性并充当标记之间的分隔符,并且任何数量的空格都可以出现在任何标记之前或之后。标记之间的空格对于 GraphQL 文档的语义意义并不重要,但是空格字符可能出现在字符串或注释标记中。
您可能首先不应该在节点名称中使用空格,即使它们在技术上得到支持。这是推荐的命名约定:
驼峰式,以大写字符开头
如果您的数据源返回的对象的字段名称包含空格,您可以在解析器映射中将这些字段转换为“合法”字段名称。例如,给定一个名为 的类型Company
,其字段名为airlineSegment
:
const resolvers = {
Company: {
airlineSegment: company => company['AIRLINE SEGMENT']
}
}