2017-08-17 10 views
-2

失敗しましたレトロフィットレスポンスは、私が何か間違っ をやっている、私の応答が失敗するたびに、私もGitHubのAPIを使用するが、それでも私の応答に失敗したかの改装工事が、理解しようとしています、私はとても混乱しています

リンク

http://api.openweathermap.org/data/2.5/weather?q=Spakane,Us&appid=api_key 

インターフェイスクラス

@GET("data/2.5/weather") 
Call<List<Weather>> getWeatherData(@Query("q") String cityName,@Query("appid") String apikey); 

MainActivity

そのような "Log.e(TAG、 ":" + t.toString()NET_ERROR);" として10
private final String BASE_URL = "http://api.openweathermap.org/"; 

Retrofit retrofit = new Retrofit.Builder() 
       .baseUrl(BASE_URL) 
       .addConverterFactory(GsonConverterFactory.create()) 
       .build(); 

     RestApi api = retrofit.create(RestApi.class); 


     final Call<List<Weather>> weather = api.getWeatherData("rawalpindi",API_KEY); 

     final ProgressDialog pg = new ProgressDialog(this); 
     pg.setTitle("Downloading"); 
     pg.setMessage("Please Wait ....."); 
     pg.show(); 

     weather.enqueue(new Callback<List<Weather>>() { 
      @Override 
      public void onResponse(Call<List<Weather>> call, Response<List<Weather>> response) { 

       pg.dismiss(); 

       Log.d(TAG, "onResponse: "+response.isSuccessful()); 

       Log.d(TAG, "onResponse: "+response.body().get(0).getClouds()); 

      } 

      @Override 
      public void onFailure(Call<List<Weather>> call, Throwable t) { 

       Log.d(TAG, "onFailure: Failed :("); 
       Log.d(TAG, "onResponseFailed: "+call.request().url()); 
       pg.dismiss(); 
      } 
     }); 

ログ

D/MainActivity: onFailure: Failed :(
D/MainActivity: onResponseFailed: http://api.openweathermap.org/data/2.5/weather?q=rawalpindi&appid=api_key 

スロー可能メッセージ

Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $ 
+0

印刷可能なエラーメッセージです。 –

+0

これは投げられるメッセージです ""期待通りのBEGIN_ARRAYでしたが、1行目の列2のパス$ "" – Salman500

+0

の複製可能です2 Retrofit 2の可能性がありますBEGIN ARRAYはBEGIN OBJECT 1行目2](https://stackoverflow.com/questions/36177629/retrofit2-android-expected-begin-array-but-was-begin-object-at-line-1-column-2) –

答えて

1

答えはリストではなく、単なるオブジェクトです。インターセプタを使用してレスポンスを確認します。

の場合、Call<List<Weather>>の場合は、Call<Weather>を使用してください。

+0

応答のためのty私はそれ自身を把握する – Salman500

+0

@ Salman500喜びで。よかったね! –

-2

プリントスロー可能エラー、。ネットワークの問題かもしれません。

+0

throwableメッセージ "期待されるBEGIN_ARRAY、行1の列2のパス$でBEGIN_OBJECTでした" – Salman500

+0

リストの日付タイプである可能性がありますはサービスとは異なります。 –

関連する問題