我正在向服务器发送一个多部分请求,这是我的界面:
@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);
为了在我的 fragment 中发送我的成员,我更改了我的 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)));
}
并且它正在与多个成员合作!但是当我的列表中有一个字符串时,改造不会将我的成员作为列表发送!例如:
我想发送这样的字符串数组:
[“项目1”,“项目2”,“项目3”]
我的代码适用于此,但是当只有一项时,改造会发送以下内容:
“项目1”
而不是[“item1”]
通过改造以多部分方式发送字符串数组的正确方法是什么?
我做错了什么?
最佳答案
使用类似的东西。
@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);
请记住,您必须将 []
添加到您的成员参数中:)。
关于android - 如何通过改造发送 List<String> ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53832007/