J'essaie de créer l'application météo en utilisant Retrofit 2 et maintenant j'ai du mal à régler l'appel correctement.Comment régler les paramètres de retrofit correctement
est ici l'URL qui fonctionne:
http://api.openweathermap.org/data/2.5/weather?q=London&APPID=MY_API_KEY
Alors, j'ai ma clé API et URL de base est: http://api.openweathermap.org .. Ceci est la méthode dans mon service Rénovation:
@GET("/data/2.5/weather?q={city}/&APPID={api}")
Observable<WeatherResponse> getWeather(@Path("city") String city, @Path("api") String api);
Et l'erreur que je reçois est:
java.lang.IllegalArgumentException: URL chaîne de requête "q = {ville}/& APPID = {} api" ne doit pas avoir remplacer le bloc. Pour les paramètres de requête dynamiques, utilisez @Query.
J'ai donc essayé comme ceci:
@GET("/data/2.5/weather?{city}/&APPID={api}")
Observable<WeatherResponse> getWeather(@Query("city") String city, @Path("api") String api);
Et je reçois la même erreur ... Tout le monde sait ce qui est l'affaire ici, ce qui ne va pas avec mon URL?
Maintenant, je reçois cette erreur: java.lang .IllegalArgumentException: un paramètre Path ne doit pas provenir d'une requête. ... Vous savez pourquoi le Chemin ne peut-il pas venir après Query? – joe
Désolé, mon erreur - il devrait y avoir seulement des annotations de requête dans votre demande. Path est utilisé lorsque vous voulez insérer un paramètre au milieu de requêtes, par exemple un identifiant: '/ get/users/1/info' - il y a 1 id, et Retrofit sera utilisé Path (" id "):'/get/users/{id}/info' –
Riiight ... Tnx homme! – joe