使用Retrofit发布一个对象数组以及其他内容

时间:2017-01-13 21:39:45

标签: android retrofit2

我想发布一个对象数组以及其他类型的formdata。

这样的东西
{
  country: "us",
  province: "ny",
  cities: [{
    name: "hello",
    size: "small"
  }, {
    name: "hi",
    size: "big"
  }]
}

如何在改造中执行此操作?我只需要声明改装客户端API的部分。

@FormUrlEncoded
@PUT("user/doStuff")
Observable<Void> doStuff(@Field("country") String country, @Field("province") String province,
/* What do i do with cities here?? */);

1 个答案:

答案 0 :(得分:2)

您可以尝试这样的方法,但取决于服务器的配置方式。

public class City {
    @SerializedName("city")
    public String city;

    @SerializedName("size")
    public String size;
}

public class ObjectToSend {
    @SerializedName("country")
    public String country;

    @SerializedName("province")
    public String province;

    @SerializedName("cities")
    public List<City> cities;
}


@PUT("user/doStuff")
Observable<Void> doStuff(@Body ObjectToSend object);