如何发送带有改进的List <string>?

时间:2018-12-18 11:25:54

标签: android retrofit2

我正在向服务器发送多部分请求,这是我的界面:

@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”]

通过改造多部分发送字符串数组的正确方法是什么?

我在做什么错了?

1 个答案:

答案 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:)。