Gson + Retrofit,它是如何工作的?

时间:2016-11-25 11:06:41

标签: android gson retrofit

我正在使用Retrofit发出API请求。问题是,项目还没有由我编写,目前我正在重写API调用,因为它们是用手动HttpRequest结构编写的。问题是,由于某种原因,如果没有服务器返回值为“false”,则会出现“photoUrl”字段,这很糟糕,但问题是由于此问题而构建的。那就是这个领域:

private String photoUrl;

我假设当Retrofit响应转换为object时,setter将用于设置一个值,所以临时我已经设置条件将其设置为null如果“false”来防止问题进一步用户与应用程序的交互,这里是setter:

public void setPhoto_url(String photoUrl) {
    if(!photoUrl.equals("false")) {
        this.photoUrl = photoUrl;
    }
}

令我惊讶的是,条件根本不起作用,这就是我提出的问题: Gson是不是应该使用setter将值设置为私有字段?

1 个答案:

答案 0 :(得分:0)

不,GSON使用反射直接设置字段值。

它不使用getter / setter,也没有使用getter / setter的选项。