OpenWeather API не приходит Response
есть запрос: http://api.openweathermap.org/data/2.5/forecast?q=gomel&appid=45b5cbc82e692432579878cc82a08ba1
Дата классы получаю через плагин в IDE "Kotlin Data classes from JSON". Основной класс получаю CurrentWeatherResponse:
data class CurrentWeatherResponse(
val cod: String,
val message: Int,
val cnt: Int,
val list: List<Item>,
val city: City
)
Описываю интерфейс:
interface WeatherInterface {
@GET("forecast")
fun GetCurrentWeather(@Query("q") city: String,@Query("appid") API_KEY:String):Call<CurrentWeatherResponse>
}
Делаю Service:
object ServiceBuilder {
private val client = OkHttpClient.Builder().build()
private val retrofit = Retrofit.Builder()
.baseUrl("http://api.openweathermap.org/data/2.5/")
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build()
fun<T> buildService(service:Class<T>):T{
return retrofit.create(service)
}
}
Разворачиваю в MainActivity: class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val request = ServiceBuilder.buildService(WeatherInterface::class.java)
val call = request.GetCurrentWeather("Gomel", API_KEY)
call.enqueue(object : Callback<CurrentWeatherResponse> {
override fun onResponse(call: Call<CurrentWeatherResponse>,response: Response<CurrentWeatherResponse>) {
if (response.isSuccessful){
Toast.makeText(applicationContext,"It's Ok",Toast.LENGTH_LONG).show()
}
}
override fun onFailure(call: Call<CurrentWeatherResponse>, t: Throwable) {
Toast.makeText(applicationContext,"It's Wrong",Toast.LENGTH_LONG).show()
}
})
}
}
Приходит onFailure.