2017-04-03 2 views
-2

hinzu Ich möchte doppelte Schlüsselparameters in Retrofit hinzufügen. Zum Beispiel: https://www.google.co.in/?gfe_rd=cr&ei=1&ei=2&ei=3&ei=4&ej=1&ej=2&ej=3&ek=1&ek=2&ek=3&el=1&el=2&el=3.Fügen Sie mehrere Schlüsselparametern in Retrofit android

Diese Schlüsselparameter werden dynamisch hinzugefügt. So lösen Sie dieses Problem. Bitte Hilfe. Vielen Dank im Voraus.

+2

Mögliche Duplikate von [Verwendung von Retrofit in Android] (http://stackoverflow.com/questions/26500036/using-retrofit-in-android) – Nevres

Antwort

0

Sie können ArrayList wie verwenden;

Call<YourResponseType> yourFunc(@Query("gfe_rd") String value, @Query("ei") ArrayList<String> eiValues, @Query("ej") ArrayList<String> eJvalues,...); 

es funktioniert wie;

http://yourUrl.com/gfe_rd=cr&ei=1&ei=2 ...

oder Sie können es tun path und for mit verwenden.

String path = "/?"; 
for (int i = 0; i < yourQueryCount ; i ++){ 
    if (i == 0) 
     path += "gfe_rd" + yourValue; 
    else if (i < 5) 
     path += "ei=" + yourDynamicValueArrayForEi[i]; 
    else if (i < 7) 
     path += "ej=" + yourDynamicValueArrayForEj[i]; 
    . 
    . 
    . 

    if (i < yourQueryCount-1) 
    path += "&"; 
} 

und gibt diesen Weg zu Ihrer Retrofit-Funktion;

@GET("{yourPath}") 
Call<YourResponseType> yourFunc(@Path("yourPath") String path);