android - 如何发送列表与改造?
问题描述
我正在向服务器发送多部分请求,这是我的界面:
@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)));
}
它正在与多个成员合作!但是当我的列表中有一个字符串时,改造不会将我的成员作为列表发送!!!例如:
我想发送这样的字符串数组:
[“项目 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);
请记住,您必须添加[]
到您的成员参数:)。
推荐阅读
- ios - Xcode 13 beta:“xcrun:错误:未能找到‘仪器’”
- android-studio - Android Studio 本机代码导航不起作用
- mysql - 编辑记录 CodeIgniter
- java - 如何使用对象列表中的字符串填充 ComboBox?
- delay - AnyLogic:停止延迟块中特定代理的延迟
- php - 我应该序列化一个 assoc 数组还是动态生成表格来记录这些数据?
- mongodb - 无法从 Mongosh 终端连接到 MongoDB Atlas Cluster
- java - 如何指定,运行时使用哪个资源文件?
- python - 如何在 Django 中获取名称输入类型提交模型表单
- visual-studio - 有没有一种方法可以让我在 vscode 中实时预览反应原生代码?