私はAPIリクエストを行うためにRetrofitを使用しています。問題は、プロジェクトは私によって書かれていない、現在私はAPI呼び出しを書き直している、なぜならそれらは手動のHttpRequest構造で作られたからだ。問題は、サーバーが存在しない場合に "photoUrl"フィールドに何らかの理由で "false"という値が返されることですが、この問題のために質問が作成されました。私はレトロフィット応答がオブジェクトに変換されたときに、セッターが値を設定するために使用されることを想定しGson + Retrofit、どうしますか?
private String photoUrl;
、私はnull
かの「偽として設定するための条件を作ったので、一時的な:だから、それはフィールドです"アプリで、さらにユーザーとの対話で問題を防止するために来ている、ここではセッターです:
public void setPhoto_url(String photoUrl) {
if(!photoUrl.equals("false")) {
this.photoUrl = photoUrl;
}
}
が驚いたことに、条件が全く機能していない、そしてそれは私の質問提起するものである:をGsonはに想定されていませんsetterを使ってprivateフィールドに値を設定しますか?
「false」を使用した文字列値を確認してください – Saveen
@Saveen、返信用のthxですが、そうでない場合、Gsonは文字列に正しく変換していますか? –
あなたは値を設定する前にそれをチェックすることができ、チェックが正しければセッターでも機能します。 – Saveen