使用Retrofit和autovalue初始化属性

时间:2016-08-25 09:25:21

标签: android retrofit auto-value

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

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

1 个答案:

答案 0 :(得分:0)

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

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