2015-12-09 10 views
6

Ich muss eine mehrteilige Anfrage mit dem Retrofit 2.0 mit Bild und einige Schlüssel-Wert-Parameter senden: "key1" - "parameter1", "key2" - "parameter2" usw. Aber es gibt Parameter mit dem gleichen Schlüssel: "somepar[]" - "text1" , "somepar[]" - "text2" ... Und ich kann @PartMap in dieser Struktur verwenden:Kann Retrofit 2.0 mehrteilige Anfrage mit Parametern mit den gleichen Schlüsseln senden

@Multipart 
@POST(myUrlPart) 
Call<ClassEntity> myRequest(@Header("Authorization") String authHeader, 
           @Part("image\"; filename=\"image.png\"") RequestBody image, 
           @PartMap Map<String, RequestBody> params); 

weil Map <> kippen speichern mehrere Werte mit dem gleichen Schlüssel. Und ich kann

@Part("somepar[]") List<String> mylist 

oder

@Part("somepar[]") String[] myArray 

verwenden, da es "somepar[]" - "{"1","2","3"}" Schlüsselwert senden wird, nicht die "somepar[]" = "1", "somepar[]" = "2", "somepar[]" = "3".

Bitte helfen Sie, wie Sie eine solche Anfrage machen.

Antwort

1

Okay, dieses Problem wurde in neuen Versionen der Retrofit-Bibliothek (2.1.0 Version im Moment, diesen Beitrag zu schreiben) gelöst. Dieser Code wird korrekt funktionieren und Daten korrekt senden:

@Part("somepar[]") List<String> mylist 

Danke.