Я пытаюсь получить данные из openweather api, используя retrofit2 и Gson, но он всегда возвращает ошибку нулевого значения.
Я попытался отладить, и возвращенный ответ в порядке, но возвращает ноль.
Вот мой код ..
КЛАССЫ ПОЖО были взяты отсюда.
http://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22
Как я пытаюсь получить.
API интерфейс
public interface Api {
String api_key = "b6907d289e10d714a6e88b30761fae22";
String BASE_URL= "http://api.openweathermap.org/data/2.5/";
@GET("weather")
Call<Weather> getWeather(@Query("lat") String latitude, @Query("lon") String longitude, @Query("appid") String api_key);
}
LoadWeather ()
public void LoadWeather()
{
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Api.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Api api = retrofit.create(Api.class);
Call<Weather> weatherCall = api.getWeather("12.9716", "77.5946", api_key);
weatherCall.enqueue(new Callback<Weather>() {
@Override
public void onResponse(Call<Weather> call, Response<Weather> response) {
Weather weather = response.body();
String temp = weather.getList().get(0).getMain().getTemp().toString();
Log.d(TAG,"onReponse :"+weather);
}
@Override
public void onFailure(Call<Weather> call, Throwable t) {
}
});
}