Android 如何在改造中添加多条线,这些线是相同参数的数组?
我希望传递相同元素的数组,但希望它们作为新字段传递。我想做一些类似的事情:Android 如何在改造中添加多条线,这些线是相同参数的数组?,android,retrofit,Android,Retrofit,我希望传递相同元素的数组,但希望它们作为新字段传递。我想做一些类似的事情: @POST("/api/userInfo/changeProfileData/") void updateProfile( @Field("userInfoProfile[languages][0]") String language1, @Field("userInfoProfile[languages][1]") String language2,
@POST("/api/userInfo/changeProfileData/")
void updateProfile(
@Field("userInfoProfile[languages][0]") String language1,
@Field("userInfoProfile[languages][1]") String language2,
Callback<BaseModel<StateModel>> callback);
@POST(“/api/userInfo/changeProfileData/”)
无效更新配置文件(
@字段(“userInfoProfile[语言][0]”字符串语言1,
@字段(“userInfoProfile[语言][1]”字符串语言2,
回调(回调);
但问题是我不知道元素的数量,所以我不能像上面那样做
我试图通过一个列表:
@Field("userInfoProfile[languages]") List<String> languages
@字段(“userInfoProfile[语言]”)列出语言
但该值无效,因为我需要字段及其索引(userInfoProfile[语言][0])。用于使字段关联更具动态性
将您的界面更新为:
void updateProfile(
@FieldMap Map<String, String> languages,
Callback<BaseModel<StateModel>> callback);
private Map<String, String> buildFieldMap(List<String> data){
Map<String, String> map = new HashMap<String, String>();
String fieldName = "userInfoProfile[languages][%d]"
for(int i = 0; i < data.size(); i++){
map.put(String.format(fieldName, i), data.get(i));
}
return map;
}