我希望post
数据如下:
{
"user_id":"14545646",
"list":["4545645","4545645","4545645","4545645"]
}
我使用了以下Retrofit
方法:
interface DeleteOrder {
@FormUrlEncoded
@POST("/api/shop/deleteOrder.json")
void getPoJoDeleteOrder(@Field("user_id") String user_id, @Field("list") String[] list,Callback<PoJoDeleteOrder> callback);
}
这是正确的方法吗?
答案 0 :(得分:2)
如果有很多用户,请使用FieldMap
。
用户[0] [电子邮件] = <强> &安培;用户[0] [口令] = 强>&安培;用户[1] [电子邮件] = <强> &安培;用户[1] [口令] = 强>
@POST("/user/sign_in")
用户登录 (@FieldMap Map<String,String> fields)
;
Map<String,String> fields = new HashMap<>();
for (int i=0;i<users.size();i++) {
User user= users.get(i);
fields.put("user["+i+"][email]",user.email);
fields.put("user["+i+"][password]",user.password);
}
答案 1 :(得分:1)
这样它会发送像这样的参数
project_id=986&remark=testing&details=detail_1....
如果要以JSON格式发送数组,则需要将[]添加到数组名称。
@FormUrlEncoded
@POST("/api/projectLost")
public void projectMarkLost(
@Field("project_id") int projectId,
@Field("lost_project_reasons[]") ArrayList<Integer> lostProjectReasons,
Callback<JsonObject> cb
);
这样你就可以用is_array($ arr)检查数组参数,然后迭代它。 Source link.
答案 2 :(得分:-2)
如果查询参数列表已修复,您可以执行以下操作:
iocon <- file("originalFile","r+")
header <- readLines(iocon,n=1)
header <- gsub('disp', 'newvar', header)
writeLines(header, con=iocon)
否则,使用@POST("/user/sign_in")
User login(
@Query("user[email]") String email,
@Query("user[password]") String password);
,您需要将完整查询参数设置为键:
map
此答案直接来自:Github Retrofit