我使用Retrofit来提出API请求。事情是,项目并没有被我写,目前我正在重写API调用,因为它们是用手动HttpRequest结构制作的。这个问题是,如果没有服务器返回值“false”,出于某种原因在字段“photoUrl”,这是不好的,但问题是由于这个问题造成的。所以,这是场:Gson + Retrofit,它是如何工作的?
private String photoUrl;
我认为,当改造响应将被转换为对象,制定者将被用于设置一个值,所以暂时我做了将其设置为null
如果“假的条件“即将到来,以防止进一步的用户交互的问题有一个应用程序,这里的设置方法:
public void setPhoto_url(String photoUrl) {
if(!photoUrl.equals("false")) {
this.photoUrl = photoUrl;
}
}
令我惊讶的是,条件不工作,而这正是提出了我的问题:是不是GSON应该使用setter将值设置为私有字段?
请检查您使用的字符串值是否为'false' – Saveen
@Saveen,thx用于回复,但如果不是,Gson如何正确地将其转换为字符串? –
你可以在设置任何值之前检查它,如果检查是正确的,那么它也可以在setter中使用。 – Saveen