android - 使用 Retrofit 和 autovalue 初始化属性

标签 android retrofit auto-value

我将 Retrofit 和 AutoValue 与 GSON 扩展一起使用。 一切正常,但我没有找到在服务器未返回值时初始化属性的方法。 我可以添加注释 @Nullable 来避免 NPE,但我希望能够避免空值并为 json 中未设置的属性设置默认值。

我知道如何在不使用 gson 扩展的情况下使用构建器设置属性,但我不知道在使用扩展设置默认值时如何使用这些构建器(或任何其他方式)。

最佳答案

我认为你不能使用自动值来做到这一点,因为它仍然是一个悬而未决的问题
引用:
http://github.com/rharter/auto-value-gson/issues/47

但解决方法是将您自己的模型传递给 gson 进行解析,并在该模型中为您想要的任何变量设置默认值。因此,当您在 json 响应中获取值时,它将自动覆盖默认值,而在其他情况下,默认值已经存在于模型中。

关于android - 使用 Retrofit 和 autovalue 初始化属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39141434/

相关文章:

java - Java/Android 的 HTTP POST 数组参数

c# - 尝试项目示例 "HelloAR",构建成功但手机上没有任何显示

android - assembleDebug.dependsOn 不工作

java - 如何将 hashmap 中的值存储在字符串数组中

java - 是否可以使用 Web 服务器 api 中的 MpAndroid 显示图表?

android - 从 root Android 安装 apk,无需用户输入(语法上)

android - 如何将 JSONObject 发送到 Retrofit API 调用 Android

java - 无法使用 GSON、AutoValue 和 Retrofit 2 反序列化备用名称

Android CleanArchitecture 域模块和 AutoValue

android - Map<String, List<Obj>> 的 AutoValue Gson 类型适配器