Получить объект из JSON - PullRequest
0 голосов
/ 01 мая 2018

У меня есть JSON, и с помощью модернизации сделан RecyclerView. Теперь я собираюсь, чтобы каждый пункт в переработке был подробно описан. Поэтому я создаю для этого еще одно действие с новым запросом вызова.

Вот JSON:

[
      {
        "id": 1,
        "name": "A",
        "imageurl": "http://192.168.43.200/myproject/a.jpg"
      },
      {
        "id": 2,
        "name": "B",
        "imageurl": "http://192.168.43.200/myproject/b.jpg"
      }, 
    ...
    ]

и API-интерфейс для получения всех объектов JSON:

@GET("/myproject/json")
    Call<List<Alphabet>> getAlphabets();

@GET("/myproject/json/{id}")
Call<Alphabet> getAlphabet(@Path("id") int id);

detail.java:

Bundle bundle = getIntent().getExtras();
        id = bundle.getInt("id");

        ApiInterface request = RetrofiBiulder.getClient().create(ApiInterface.class);
        Call<Alphabet> call = request.getAlphabet(id);
        call.enqueue(new Callback<Alphabet>() {
            @Override
            public void onResponse(Call<Alphabet> call, Response<Alphabet> response) {
                Alphabet alphabet = response.body();
                if(response.isSuccessful()){

                    txtId.setText(String.valueOf(alphabet.getProductid()));
                txtNmae.setText(alphabet.getProductname());
                Glide.with(Detail.this).load(alphabet.getImageurl()).into(imgDetail);}

            }

            @Override
            public void onFailure(Call<Alphabet> call, Throwable t) {
            }
        });

Почему это не работает?

1 Ответ

0 голосов
/ 01 мая 2018

Если ваш API поддерживает это, вы можете добавить параметр запроса к методу модифицированного интерфейса:

@GET("/myproject/json")
Call<Alphabet> getAlphabet(@Query("id") String id);

Или, если ваш API ожидает id в качестве параметра пути:

@GET("/myproject/json/{id}")
Call<Alphabet> getAlphabet(@Path("id") String id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...