将一组项目发送到URL

时间:2018-02-26 15:39:16

标签: android retrofit2

我新使用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
....
....

因为我们的服务器只接受此格式

1 个答案:

答案 0 :(得分:0)

如果你用数组表示Stringint类型数组可以使用改造来完成

@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());

        }
    });

希望这有帮助