Я пытаюсь создать приложение Weather с помощью Retrofit 2, и теперь я стараюсь правильно настроить вызов.Как правильно установить параметры настройки
Вот URL, который работает:
http://api.openweathermap.org/data/2.5/weather?q=London&APPID=MY_API_KEY
Таким образом, я получил мой ключ API и бейс URL является: http://api.openweathermap.org .. Это метод в моей службе Дооснащения:
@GET("/data/2.5/weather?q={city}/&APPID={api}")
Observable<WeatherResponse> getWeather(@Path("city") String city, @Path("api") String api);
И ошибка, которую я получаю:
java.lang.IllegalArgumentException: строка запроса URL-адреса «q = {city}/& APPID = {api}" не должна иметь блок замены. Для динамических параметров запроса используйте @Query.
Так что я попытался так:
@GET("/data/2.5/weather?{city}/&APPID={api}")
Observable<WeatherResponse> getWeather(@Query("city") String city, @Path("api") String api);
И я получаю ту же ошибку ... Кто-нибудь знает, что здесь дело, что случилось с моим URL?
Теперь я получаю эту ошибку: java.lang .IllegalArgumentException: параметр Path не должен появляться после запроса. ... Вы знаете, почему Путь не может прийти после запроса? – joe
Извините, моя ошибка - в запросе должны быть только аннотации Query. Путь используется, когда вы хотите вставить параметр в середине запросов, например, некоторый id: '/ get/users/1/info' - там 1 есть id, а в Retrofit будет использоваться Path (" id "):'/get/users/{id}/info' –
Riiight ... Tnx man! – joe