2016-08-25 62 views
3

我使用的是改造和AutoValue与GSON扩展。 一切工作正常,但我没有找到一种方法来初始化一个属性,当服务器没有为它返回一个值。 我可以添加注解@Nullable来避免NPE,但我希望能够避免null并为未在json中设置的属性设置默认值。初始化属性与改造和autovalue

我知道如何使用的建设者,而无需使用GSON扩展设置属性,但我不知道如何使用扩展时设置的默认值使用这些制造商(或任何其他的意思)。

+0

你在使用Gson吗?像RestAdapter.Builder()。setConverter(新的GSonConverter(GSonFactory.getConfiguredGson()))? –

+0

是我使用GSON – kingston

回答

0

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

但wayaround是要通过自己的模型来GSON解析和在模型为您想要的任何变量设置默认值。所以,当你在json响应中获得值时,它会自动覆盖默认值,而在其他情况下,默认值已经存在于模型中。

+0

但autovalue我不写模型类:只有它astract父类 – kingston

+0

我觉得它仍然是一个悬而未决的问题 HTTPS你不能做到这一点使用autovalue:// github上。 com/rharter/auto-value-gson/issues/47 – Nitesh

+0

啊!我找了一张关于这个的票,我没有找到它。谢谢。你可以重新解释你的答案吗?我会接受它 – kingston