我使用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