Apollo Android 正在生成一个大写变量不一致的数据类
Posted
技术标签:
【中文标题】Apollo Android 正在生成一个大写变量不一致的数据类【英文标题】:Apollo Android is generating a data class with inconsistently uppercased variables 【发布时间】:2021-08-20 11:49:32 【问题描述】:我正在使用 Apollo android v2.1.0,并且有一个带有自动生成输入类数组的 mutation
:
mutation MyMutation($values: [MyInputClass!])
exampleApi(values: $values)
此MyInputClass
的输入字段以大写和小写字母开头:
"kind":"INPUT_OBJECT",
"name":"MyInputClass",
"description":null,
"fields":null,
"inputFields":[
"name":"id",
"description":null,
"type":
"kind":"NON_NULL",
"name":null,
"ofType":
"kind":"SCALAR",
"name":"String",
"ofType":null
,
"defaultValue":null
,
"name":"Orientation",
"description":null,
"type":
"kind":"SCALAR",
"name":"Int",
"ofType":null
,
"defaultValue":null
]
当 Apollo Android 尝试为 MyInputClass
生成数据类时,它失败了:
Unresolved reference: Orientation
这是由生成的MyInputClass.kt
不一致地使用orientation
和Orientation
引起的:
if (this@MyInputClass.Orientation.defined)
writer.writeInt("orientation", this@MyInputClass.orientation.value)
【问题讨论】:
【参考方案1】:这是旧版本库的问题,是fixed in v2.4.5。至少将您的库更新到该版本以解决它。
Here is the issue for it 和 here is the fix。
【讨论】:
以上是关于Apollo Android 正在生成一个大写变量不一致的数据类的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android Studio 中从 Apollo Client (GraphQL) 导入生成的类
Apollo Android 客户端 - 无法访问类路径上生成的类