我正在向服务器发送多部分请求,这是我的界面:
@Multipart
@POST("v1/group/new")
Call<MyResponse> newGroup(
@Header("token") String token,
@Part MultipartBody.Part photo,
@Part("title") RequestBody subject,
@Part("members") List<RequestBody> members);
并且为了发送片段中的成员,我将List<String>
更改为List<RequestBody>
,如下所示:
List<RequestBody> members = new ArrayList<>();
for(int i = 0;i < membersId.size(); i++){
members.add(RequestBody.create(MediaType.parse("text/plain"),membersId.get(i)));
}
,它正在与多个成员合作!但是当我的列表中只有一个字符串时,翻新不会将我的成员作为列表发送!!!例如:
我想发送这样的字符串数组:
[“ item1”,“ item2”,“ item3”]
我的代码可用于此目的,但是当只有一项时,改造会发送此消息:
“ item1”
代替[“ item1”]
通过改造多部分发送字符串数组的正确方法是什么?
我在做什么错了?
答案 0 :(得分:4)
使用类似这样的东西。
@Multipart
@POST("v1/group/new")
Call<MyResponse> newGroup(
@Header("token") String token,
@Part MultipartBody.Part photo,
@Part("title") RequestBody subject,
@Part("members[]") List<RequestBody> members);
请记住,您必须将[]
添加到成员param:)。