避免改造 POJO 冗余

Avoid retrofit POJO redundancy

我有一个 POJO class 用于改装。

    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 class。但是在请求 1 中,我只需要属性 a 和 b。在请求 2 中,我只需要 a、b、c,而在第三个请求中,我只需要 b、c 和 d。 在参考中,我找到了解决方案,例如添加瞬态关键字、添加注释等。但我没有得到解决方案。有没有办法对所有这 3 个请求使用相同的 POJO class?

提前致谢

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

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

Call<AppData>

响应中返回的任何值都将被更新,例如对于第一个请求只有 a,b 将被类似地设置为其他请求各自的变量将被设置,因此在检索时您可以使用各自的 getters

所以对于第一个请求,不要尝试检索 c 和 d,否则你将得到 NullPointer 只能使用

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

类似地,对于其他请求,使用响应中返回的请求