使用 Retrofit 和 autovalue 初始化属性

initialize properties with Retrofit and autovalue

我正在使用带有 GSON 扩展的 Retrofit 和 AutoValue。 一切正常,但当服务器没有 return 值时,我没有找到初始化 属性 的方法。 我可以添加注释 @Nullable 来避免 NPE,但我希望能够避免空值并为 json.

中未设置的属性设置默认值

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

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

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