2016-04-28 4 views
0

Я стараюсь, чтобы получить все данные, используя параметр в GET метод модифицированной версии 2.x но respon Ожидается, BEGIN_ARRAY но BEGIN_OBJECT ретрофитом 2java.lang.IllegalStateException: Ожидаемое BEGIN_ARRAY но BEGIN_OBJECT ретрофитом 2

это мой код URL доступа службы

public interface BukuResepMasakanAPI { 
public static String baseURL = "http://10.108.233.76/buku_resep_masakan_service/"; 

//membuat Instance Retrofit 
Retrofit client = new Retrofit.Builder() 
     .baseUrl(baseURL) 
     .addConverterFactory(GsonConverterFactory.create()) 
     .build(); 


@POST("jenis_resep") 
public Call<JenisResepModel> getJenisResep(@Body JenisResepModel model); 

@GET("get_resep_by_jenis/{id_jenis_resep}") 
public Call<List<DetailResepModel>> getDetailResep(@Path("id_jenis_resep") String id_jenis_resep); 

}

и это мой код, чтобы позвонить ДООСНАСТКЕ

public void loadData(){ 
    BukuResepMasakanAPI apiService = BukuResepMasakanAPI.client.create(BukuResepMasakanAPI.class); 
    DetailResepModel model = new DetailResepModel(); 
    Log.d("lappet",""+idJenisResep); 
    Call<List<DetailResepModel>> call = apiService.getDetailResep(idJenisResep); 

    //proses call 
    call.enqueue(new Callback<List<DetailResepModel>>() { 
     @Override 
     public void onResponse(Call<List<DetailResepModel>> call, Response<List<DetailResepModel>> response) { 
      List<DetailResepModel> resep = response.body(); 
      Log.d("idjenisresep",""+idJenisResep+" size "+resep.size()); 
     } 

     @Override 
     public void onFailure(Call<List<DetailResepModel>> call, Throwable t) { 
      Toast.makeText(getApplicationContext(),"Failed to connect",Toast.LENGTH_SHORT).show(); 
      Log.d("failed", "" + t.toString()); 
     } 
    }); 
} 

я надеюсь, что вы можете помочь мне решить эту проблему

+0

Возможный дубликат [Дооснащение - java.lang.IllegalStateException: Ожидаемая НАЧАТЬ \ _ARRAY, но BEGIN \ _OBJECT] (http://stackoverflow.com/questions/34917713/retrofit-java-lang-illegalstateexception-expected-begin-array-but-was-begin-o) – Bharatesh

ответ

0

Ваша ошибка говорит, что получил один объект JSON, но ваш обратный вызов ожидается список.

(я предполагаю, что это метод, ошибка относится к)

@GET("get_resep_by_jenis/{id_jenis_resep}") 
public Call<List<DetailResepModel>> 

Вы должны попытаться изменить что

@GET("get_resep_by_jenis/{id_jenis_resep}") 
public Call<DetailResepModel> 
+0

, когда я пытаюсь, как вы его рекомендовали будет возвращать размер объекта = 0, но у меня есть данные для получения. –

+0

Это звучит лучше, чем сообщение об ошибке, которое вы получали, но я не могу помочь с этим –

+0

в порядке, спасибо за ваш ответ раньше –

Смежные вопросы