Diese senden ist meine Schnittstelle:Retrofit - dynamische Abfragen mit demselben Schlüssel
public interface ServerCalls{
@GET
Call<List<Integer>> searchNames(@Url String url, @QueryMap Map<String,
String> options);
}
}
und das ist mein Aufruf:
APIs.LoadDataService service =
retrofit.create(APIs.LoadDataService.class);
Map<String, String> parameters = new HashMap<>();
parameters.put("name","yoni");
parameters.put("name","albert");
parameters.put("q","text");
Call<List<Integer>> call = service.searchNames(APIs.GET_NAMES, parameters);
einen Anruf mit dynamischen Abfragen machen i so verwendet werden, müssen @QueryMap Ich muss mit einer Map arbeiten. mein Problem ist, wenn ich den gleichen Schlüssel senden muss, weil Map immer den letzten Wert von Schlüssel und nicht unterstützt doppelt erhalten.
mein api, so etwas bekommen müssen:
myapi.com/getLastName?name=yoni&name=albert
, wie ich es tun kann? (ohne Guava-Bibliothek)
Kannst du nicht die API ändern? Das ist komisches Design, wenn es eine Liste von Namen erwartet, dann sollte es zum Beispiel ein Array im Body sein. –
Mögliches Duplikat von [Hinzufügen doppelter Parameter mit Retrofit v1.9.0] (https://stackoverflow.com/questions/28776381/adding-duplicate-parameters-with-retrofit-v1-9-0) –