Apollo构建报错:GraphQL查询中`on`为不支持的令牌
解决Apollo GraphQL编译报错:Unsupported token
on 问题描述
在Kotlin项目中使用apolloGraphQLVersion: "1.3.2"时,编写包含on字段的GraphQL查询后,编译阶段针对.graphql文件抛出以下错误:
com.apollographql.apollo.compiler.parser.GraphQLDocumentParseException: Unsupported token
on
原查询语句如下:
query TimeLine($inputData: InputData!) { getTimeLine(inputData: $inputData) { on updated } }
问题原因
on是GraphQL的保留关键字,直接将其作为字段名使用时,会被Apollo解析器误判为语法标记,而非合法的字段名称,进而触发解析异常。
解决方法
将作为字段名的保留关键字用反引号(`)包裹,强制解析器将其识别为普通字段。修改后的查询语句如下:
query TimeLine($inputData: InputData!) { getTimeLine(inputData: $inputData) { `on` updated } }
修改后重新编译项目,即可解决该报错。
内容的提问来源于stack exchange,提问作者Amit
相关产品推荐
相关产品推荐

