我面临着使用 Retrofit 2 在 android 中的数组中发布数据的问题。我必须在我的个人资料设置 Activity 中发布近 14 个字段的数据... 像这样...
name="basics[first_name] , name="basics[last_name]" , name="basics[phone_number]"
我必须以这种格式发送数据。我不明白如何做到这一点需要帮助。我不明白如何在界面中调用 api,因为我必须将数据放入数组中。 目前我正在这样做,但我知道这是不对的......
@FormUrlEncoded
@POST("profile_setting/basic_setting")
Call<ResponseBody> UpdateBasics(
@Query("user_id") int user_id ,
@Field("nickname") String nickname ,
@Field("first_name") String first_name ,
@Field("last_name") String last_name ,
@Field("phone_number") String phone_number ,
@Field("fax") String fax
);
最佳答案
开设类(class)
public class Basic {
public final int user_id;
public final String nickname;
....
public Basic(int user_id, ...) {
}
}
然后将此类的对象列表传递给此接口(interface)
public interface MyService {
@POST("/basic")
Response void sendData(@Body List<Basic> basic);
}
或者您可以对 JSONObject 执行相同的操作。只需制作一个 jsonobjects 列表
JSONObject paramObject = new JSONObject();
paramObject.put(value_one, "field_one"));
paramObject.put(value_second, "field_second"));
将对象放入列表
list.add(paramObject);
然后传递到改造
public interface MyService {
@POST("/basic")
Response void sendJsonObjectData(@Body List<JSONObject> basic);
}
关于java - 如何使用retrofit 2在android中的数组中发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53424919/