Ich bin mit Retrofit 2 mit Jackson-Wandler in meinem Android-Projekt mit der folgenden Anforderung:String-Array nachrüsten Senden der Objektdarstellung anstelle des Werts in der Anforderung.
@FormUrlEncoded
@PATCH("foo/{id}")
Call<FooModel> apiCallWithArrayOfStrings(@Path("id") int id, @Field("array_of_strings") List<String> array);
Hier sind die Werte, die ich an die Interface-Methode übergeben:
// the array of strings @Field param
ArrayList<String> arrayOfStrings = new ArrayList<>();
arrayOfStrings.add("1.2");
// the id param
int id = 2;
ich die app laufen, Lassen Sie den Request vom API-Aufruf ausführen und rufen Sie dann die Anforderung über Charles ab.
Hier ist das Problem. Die Anfrage param „array_of_strings“ wird mit der Objektreferenz gesendet wird, nicht der tatsächliche Wert der Array-Objekte:
// charles request shows:
array_of_strings [[email protected]
// instead of:
array_of_stings ["1.2"]
Wie erhalte ich Retrofit/Jackson den Wert des Arrays verwenden Objekte anstelle der Objektreferenz Wert?
Wie sollte der Körper aussehen? – Blackbelt