android - 避免改造 POJO 冗余

标签 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。 在引用中,我找到了解决方案,例如添加 transient 关键字、添加注释等。但我没有得到解决方案。有没有办法对所有这 3 个请求使用相同的 POJO 类?

提前致谢

最佳答案

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

Call<AppData>

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

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

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

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

关于android - 避免改造 POJO 冗余,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42501148/

相关文章:

android - 如何在EditText中输入一个0x​​104567910?

android - requestCode 代码返回相同的值,或者更改您是否检查 gps 的选项

android - 将 Volley 与 Sync Adapter 结合使用

android - 在我使用 Retrofit 2 发送数据之前,有什么方法可以知道值/结构

Android - 选择 Spinner 后将焦点设置在 EditText 上

java - 使用Retrofit2/okhttp3上传文件,上传 Action 总是执行两次,一次快,一次慢

android - 如何使用 Retrofit 在 RxJava 中管理结果

jackson - HornetQ - 如何发送和转换 POJO

java - 在java中复制模型对象

java - JSON解析为多个POJO集合