避免改装POJO冗余

时间:2017-02-28 05:51:00

标签: android retrofit2 pojo

我有一个改装的POJO课程。

    public class AppData(){
      String a;
      String b;
      String c;
      String d;

      public void  setA(String a){
          this.a = a;
       }
      public String getA(){
         return a;
       }
      public void setB(String b){
          this.b = b;
       }
      public String getB(){
         return b;
       }
      public void setC(String c){
          this.c = c;
       }
      public String getC(){
         return c;
       }
      public void setD(String d){
          this.d = d;
       }
      public String getD(){
         return d;
       }
  }

我有3个不同的改装请求,我需要AppData类。但在请求1中,我只需要属性a和b。在请求2中,我只需要a,b,c,在第三个请求中我只需要b,c和d。 在参考时我发现了添加临时关键字,添加注释等解决方案。但我没有得到解决方案。有没有办法为所有这3个请求使用相同的POJO类?

提前致谢

2 个答案:

答案 0 :(得分:2)

AppData对象适用于所有3个请求。未从服务器响应反序列化的值只是null

答案 1 :(得分:2)

你做得对,只有一个类就足够了,在Call中传递你的AppData类来获取所有三个请求。

Call<AppData>

响应中返回的任何值都将更新,例如对于第一个请求只会更新a,b将为其他请求设置相应的变量将被设置,因此在检索时您可以使用相应的 getters < / p>

因此,对于拳头请求,请勿尝试检索c和d,否则您将获得 NullPointer 仅使用

response.getA();
response.getB();

与其他请求类似,请使用在回复中返回的请求