我正在使用改造与服务器进行通信。
我想发送一个像这样的二维数组
album[0][uuid]:test
album[0][title]:test
album[0][public_text]:aaaaaalhjkl
album[0][private_text]:aaaaaalhjkl
album[1][uuid]:test2
album[1][title]:test2
album[1][public_text]:aaaaaalhjasdfkl
album[1][private_text]:aaaaaalhasdfjkl
在另一个电话中,当我需要只发送uuid我试过这个并且它有效
Call<response> deleteAlbum(@Header("token") String userToken, @Field("album[][uuid]") ArrayList<String> uuid);
并且我传递了一个字符串的arraylist,它工作正常。 但在这里,我有一个更复杂的pararigm,我不知道该怎么做。 如果我尝试这样的事情
Call<response> updateAlbum(@Header("token") String userToken, @Field("album[][uuid]")ArrayList<String> ablumids,@Field("album[][title]")ArrayList<String> title,@Field("album[][public_text]")ArrayList<String> public_text,@Field("album[][private_text]")ArrayList<String> private_text);
服务器只读取第一个字段(uuid)并以&#34响应;没有足够的参数&#34; 。有没有人想过如何解决这个问题?
谢谢
答案 0 :(得分:0)
好的,所以我想出了答案
电话必须是
Call<response> updateAlbum(@Header("token") String userToken, @FieldMap Map<String, String> ablumids);
并传递这样的数据
HashMap<String, String> t = new HashMap<String, String>();
t.put("album[0][uuid]","test");
t.put("album[0][title]","changeTitleTest2");
t.put("album[0][public_text]","aaaaaalhjkl");
t.put("album[0][private_text]","aaaaaalhjkl");
我不知道它是否是最佳解决方案,但它有效