Возникла проблема с отправкой двух массивов с использованием модернизации android - PullRequest
0 голосов
/ 29 марта 2020

У меня проблема с отправкой изображения и идентификатора категории, остальные параметры в порядке. Я сгенерировал URL с помощью метода call.request.call (), все параметры отображаются, но есть проблема с этими двумя параметрами.

JSONObject object = new JSONObject();


                Map<String, Object> imageid = new HashMap<>();

                imageid.put("AddressID", 58);
                imageid.put("ImageBytes", "ifhsfusdvdsfgvfdvhfhsdlkcfgvhgvhfghd");

                try {
                    object.put("name", imageid);
                } catch (JSONException e) {
                    Log.d("object binding", e.getMessage());
                }
Retrofit retrofit = new Retrofit.Builder()
                        .baseUrl(baseURL)
                        .addConverterFactory(GsonConverterFactory.create())
                        .build();
                Call<String> call = retrofit.create(Api.class).addProduct(

                        1,
                        "product name test",
                        1000,
                        5000,
                        "description test",
                        "test 0012",
                        1000,

                        imageid


                );
                call.enqueue(new Callback<String>() {
                    @Override
                    public void onResponse(Call<String> call, Response<String> response) {
                        Log.d("add product", "" + response.body());
                        Log.d("api is", "" + call.request().url());
                        Toast.makeText(getApplicationContext(), "done api on add product", LENGTH_SHORT).show();

                    }

                    @Override
                    public void onFailure(Call<String> call, Throwable t) {
                        Log.d("productavv", "" + call.request().url());
                        Toast.makeText(getApplicationContext(), "fail on add product", LENGTH_SHORT).show();

                    }
                });

// Класс интерфейса API:

 @POST("AddProduct")
    Call<String> addProduct(@Query("OwnerId") int id,
                            @Query("ProductName") String product_name,
                            @Query("DefaultRent") int default_rent,
                            @Query("DepositRequired") int deposit_required,
                            @Query("Description") String description,
                            @Query("CategoryName") String catagory_name,
                            @Query("UserImageID") int image_Id,
                            @Body Map<String, Object>  params
    );

[Здесь Json Формат API] [1]

  [1]: https://i.stack.imgur.com/NFE49.jpg
...