Retrofit 2 nur mit Formulardaten

Ich versuche, mit Retrofit 2 eine POST-Anfrage zu stellen. Der Anfragetyp istform-data NICH application/x-www-form-urlencoded.

Ich poste nur Daten, nicht die Dateien in der Anfrage, und die Antwort hat die Form von JSON.

Ich habe versucht@FormUrlEncoded, @Multipart aber es funktioniert nicht.

Ich habe versucht, folgende Anfrage

1. Erster Versuc

@FormUrlEncoded
@POST("XXXX")
Call<PlanResponse> getPlanName(@Field(Constants.ACTION_ID) String actionId, @Field(Constants.OFFER_CODE) String offerCode);

2. Zweiter Versuc

@Headers({"Content-Type: multipart/form-data","Content-Type: text/plain"})
@FormUrlEncoded
@POST("XXXX")
Call<PlanResponse> getPlans(@Body @FieldMap(encoded = false) Map<String, String> data);

3. Dritter Versuch

@Headers("Content-Type: multipart/form-data")
@Multipart
@POST("XXXX")
Call<PlanResponse> myPlans(@Part(Constants.ACTION_ID) String actionId, @Part(Constants.OFFER_CODE) String offerCode);

Ich bekomme nur den Körper alsNul. Es arbeitet mit dem POSTMAN.

Ich habe auch nach @ gesucform-data undapplication/x-www-form-urlencoded und festgestellt, dass, wenn die Daten binär sind, dann @ verwendform-data und wenn die Daten ASCII sind, dann benutzeapplication/x-www-form-urlencoded

Ich versuche zu findenIst Formulardaten vom Retrofit nicht unterstützt?

POSTMAN Anfrage

Cache-Control: no-cache
Postman-Token: XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXX
Content-Type: multipart/form-data; boundary=----    WebKitFormBoundaryXXXXXXXXXXXX


 ----WebKitFormBoundaryXXXXXXXXXXXX
Content-Disposition: form-data; name="actionId"

1000
 ----WebKitFormBoundaryXXXXXXXXXXXX
Content-Disposition: form-data; name="offerCode"

MYCODE
----WebKitFormBoundaryXXXXXXXXXXXX

Ich kann nur von POSTMAN @ abgeschnittenen HTTP-generierten Code hinzufüge

Antworten auf die Frage(4)

Ihre Antwort auf die Frage