如何在不创建POJO的情况下将Json对象作为Body传递给Retrofit 2.0

时间:2016-02-22 13:58:26

标签: android retrofit2

我需要在改造时将json对象作为body传递。但是创建pojo类似乎很乱。是否可以在不创建pojo类的情况下发送json对象?

1 个答案:

答案 0 :(得分:0)

好吧,它并没有直接回答这个问题,但是(对我而言)pojos是你可以轻松生成它们并通过使用@AutoValue库保持项目清洁的方法。

  • 导入您的gradle app文件

    group.addValueChangeListener(box);
    
  • 使用autovalue创建对象:

    provided 'com.google.auto.value:auto-value:1.2'
    apt 'com.google.auto.value:auto-value:1.2'
    apt 'com.github.rharter:auto-value-gson:0.2.5'  
    
  • 将其发送至您的服务

    @AutoValue public abstract class MyObject {    
        @SerializedName("my_data") public abstract String myData();
        @SerializedName("some_extra_data") public abstract ExtraData extraData();
    
        public static TypeAdapter<MyObject> typeAdapter(Gson gson) {
            return new AutoValue_MyObject.GsonTypeAdapter(gson);
        }
    }
    
    @AutoValue public abstract class ExtraData {    
        @SerializedName("my_extra_data") public abstract String myExtraData();
        @SerializedName("my_extra_data2") public abstract String myExtraData2();
    
        public static TypeAdapter<ExtraData> typeAdapter(Gson gson) {
            return new AutoValue_ExtraData.GsonTypeAdapter(gson);
        }
    }