2017-08-26 1 views
0

Je veux obtenir des données JSON en utilisant retrofit obtenir cette erreurRénovation URL d'erreur chaîne de requête ne doit pas avoir remplacer le bloc quand fournir des valeurs dynamiquement

Causée par: java.lang.IllegalArgumentException: chaîne de requête URL « q = {text} & langpair = {l_from} | {l_to} "ne doit pas avoir de bloc de remplacement. Pour , les paramètres de requête dynamique utilisent @Query.

Mon code est

// example of my site 
    // http://mytempsite.com/get?q=hello friend&langpair=en|ur 

    @GET("get?q={text}&langpair={from}|{to}") 
    Call<ApiService> getJsonData(@Query("text") String text, 
           @Query("from") String from, 
           @Query("to") String to); 

Et mon appel demande

Call<ApiService> call = apiService.getJsonData("hello word","en","ur"); 

Mais quand je l'utilise statiquement comme cela, il fonctionnera.

@GET("get?q=Hello Word&langpair=en|ur") 
     Call<ApiService> getJsonData(@Query("text") String text, 
            @Query("from") String from, 
            @Query("to") String to); 

Répondre

1

essayez ce code:

@GET(".") 
Call<ApiService> getJsonData(@Query("q") String text, 
          @Query("langpair") String langpair); 

Call<ApiService> call = apiService.getJsonData("hello word","en|ur"); 
+0

merci: erreur supprimer mais ne retourne rien, seule activité vide? – Attaullah

+0

au lieu de @GET ("."), J'utilise @GET ("get?") Fonctionne maintenant grâce – Attaullah