我正在使用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将值设置为私有字段?
答案 0 :(得分:0)
不,GSON使用反射直接设置字段值。
它不使用getter / setter,也没有使用getter / setter的选项。