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

Azi*_*chi 1 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);
Run Code Online (Sandbox Code Playgroud)

并送我的会员我的片段,我改变我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)));
}
Run Code Online (Sandbox Code Playgroud)

它正在与多个成员合作!但是当我的列表中只有一个字符串时,翻新不会将我的成员作为列表发送!!!例如:

我想发送这样的字符串数组:

[“ item1”,“ item2”,“ item3”]

我的代码对此有效,但是当只有一项时,改造会发送以下内容:

“ item1”

代替[“ item1”]

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

我究竟做错了什么?

Arb*_*oku 5

使用这样的东西。

@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);
Run Code Online (Sandbox Code Playgroud)

请记住,您必须添加[]成员param :)。

  • 我试过了,还是不行!在服务器中,`[]` 保留在键中! (2认同)