Ich brauche eine Liste/ein Array von Integer-Werte mit Retrofit an den Server zu senden (über POST) ich es auf diese Weise:Wie Arrays/Listen mit Retrofit senden
@FormUrlEncoded
@POST("/profile/searchProfile")
Call<ResponseBody> postSearchProfile(
@Field("age") List<Integer> age
};
und senden Sie es wie dies:
ArrayList<Integer> ages = new ArrayList<>();
ages.add(20);
ages.add(30);
ISearchProfilePost iSearchProfile = gsonServerAPIRetrofit.create(ISearchProfilePost.class);
Call<ResponseBody> call = iSearchProfile.postSearchProfile(
ages
);
Das Problem ist, die Werte erreichen den Server nicht durch Komma getrennt. Also die Werte dort sind wie Alter: 2030 statt Alter: 20, 30.
Ich las (zum Beispiel hier https://stackoverflow.com/a/37254442/1565635), dass ein gewisser Erfolg mit durch das Schreiben des Parameters hatte [] wie ein Array, aber das führt nur zu Parametern aufgerufen Alter []: 2030. Ich habe auch versucht, Arrays sowie Listen mit Strings zu verwenden. Gleiches Problem. Alles kommt direkt in einem Eintrag.
Was kann ich tun? Das ist Ihre ISearchProfilePost.class
@FormUrlEncoded
@POST("/profile/searchProfile")
Call<ResponseBody> postSearchProfile(@Body ArrayListAge ages);
Hier geben Sie die Post-Daten in pojo Klasse
Nun hinzuzufügen vergessen zu senden, aber dies sendet mein Objekt als den Körper, aber nicht als ein „Array“ unter anderen Bereichen. Oder nicht? –
Siehe update Antwort –
hat mein Problem vollständig gelöst (y) –