Ich verwende Retrofit und Robospice, um API-Aufrufe in meiner Android-Anwendung zu machen. Alle @POST-Methoden funktionieren hervorragend, und auch @GET-Befehle ohne Parameter in der URL, aber ich kann keine @GET-Aufrufe erhalten, um mit Parametern am Ende zu arbeiten!Nachrüstung: mehrere Abfrageparameter im @ GET-Befehl?
Zum Beispiel, wenn mein API-Pfad "mein/api/Anruf /" war und ich wollte 2 Parameter "param1" und "param2" in der URL, würde die get Aufruf wie folgt aussehen:
http://www.example.com/my/api/call?param1=value1¶m2=value2
so habe ich mein Setup @ abrufen Schnittstelle wie folgt:
@GET("/my/api/call?param1={p1}¶m2={p2}")
Response getMyThing(@Path("p1")
String param1, @Path("p2")
String param2);
aber ich erhalte eine Fehlermeldung, dass
„eine Ausnahme bei der Anfragenetzausführung aufgetreten: URL-Abfragezeichenfolge“ /my/api/call?param1={p1}¶m2={p2}
"auf Verfahren getMyThing nicht repla hat Ced Block. "
Was mache ich falsch?
sein Ich bin jetzt die folgende Fehlermeldung erhalten: 11-14 10: 29: 48,626: E // RequestRunner.java: 134 (31776): 10.29: 48.630 Thread-11782 Während der Ausführung des Anforderungsnetzwerks ist eine Ausnahme eingetreten: null Ich stelle die Schnittstelle definitiv in meinem Spicemanager ein, nicht sicher, was null sein könnte ... – AndroidNoob
Ich bin mir nicht sicher, sorry. Ich habe RoboSpice nie benutzt. Ich bin nur hier für das Retrofit :) –
Hallo Jake, das würden wir perfekt in dem Szenario, in dem Sie die Abfrage Params selbst konstruieren müssen, aber was ist, wenn sie Ihnen zuvor gegeben sind? Stellen Sie sich eine Template-Antwort vor, die Ihnen mitteilt, wo Sie die Informationen abholen können und welche Parameter Sie einstellen müssen. So/my/api/call? Param1 = {p1} & param2 = {p2} wird von Ihnen nicht manuell erstellt, sondern Ihnen in der Antwort eines anderen Anrufs zur Verfügung gestellt. –