我新使用Retrofit2,我必须动态地形成以下请求类型
的http:// “BASE_URL” /confirmOrder?config.items [0] .ID:12939837&安培; config.items [0] .opt1Id:0&安培; config.items [1] .ID:12939837&安培; config.items [ 1] .opt1Id:0
能够形成基本网址,但问题是如何在网址中动态发送项目数组,项目数组可能是1到10
数组必须附加在url
中config.items[0].id:12939837
config.items[0].opt1Id:0
config.items[1].id:12939837
config.items[1].opt1Id:0
....
....
因为我们的服务器只接受此格式
答案 0 :(得分:0)
如果你用数组表示String
或int
类型数组可以使用改造来完成
@FormUrlEncoded
@POST("v1.1/yourURL")
Call<Your_Model> userLogin( @Field("data[]") String[] data
);
然后简单地调用方法,并传递方法
String names[] = {"Blah","Blaaah","Blaaaaah"};
userCall = service.userLogin(names);
userCall.enqueue(new Callback<Your_Model>() {
@Override
public void onResponse(Call<Your_Model> call, Response<Your_Model> response) {
if (response.body().getStatus()==1){
Toast.makeText(OtherActivity.this, "Sucess", Toast.LENGTH_SHORT).show();
Log.d("ResponceFromServer" ,"Responce" +response.body().getMessage());
}
else {
Log.d("ResponceFromServer" ,"Responce" +response.body().getMessage());
}
}
@Override
public void onFailure(Call<Your_Model> call, Throwable t) {
Log.d("ResponceFromServer" ,"Responce OnFailure" +t.toString());
}
});
希望这有帮助