我将 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/