Rénovation 2 avec uniquement des données de formulaire
Je suis en train de faire une requête POST à l'aide de la Rénovation 2. Le type de demande est form-data
PAS application/x-www-form-urlencoded
.
Je ne suis que la publication des données et non pas les fichiers dans la demande et la réponse est dans la forme de JSON.
J'ai essayé @FormUrlEncoded, @Multipart
mais ça ne fonctionne pas.
J'ai essayé de suivre la demande
1. Première Tentative
@FormUrlEncoded
@POST("XXXX")
Call<PlanResponse> getPlanName(@Field(Constants.ACTION_ID) String actionId, @Field(Constants.OFFER_CODE) String offerCode);
2. Deuxième Tentative
@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. Troisième Tentative
@Headers("Content-Type: multipart/form-data")
@Multipart
@POST("XXXX")
Call<PlanResponse> myPlans(@Part(Constants.ACTION_ID) String actionId, @Part(Constants.OFFER_CODE) String offerCode);
Je suis seulement à obtenir le corps que null. Il travaille avec le FACTEUR.
J'ai également effectuer une recherche sur form-data
et application/x-www-form-urlencoded
et a constaté que si les données binaires sont ensuite utiliser form-data
et si des données sont en ASCII puis utilisez application/x-www-form-urlencoded
Je suis en train d'essayer de trouver Est form-data n'est pas pris en charge par la Rénovation?
FACTEUR de demande de
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
Je peux seulement ajouter HTTP code Généré ciselée de FACTEUR
multipart/form-data
est pris en charge. Il est généralement utilisé uniquement lors de la demande de la charge utile est importante - comme c'est le cas avec les uploads de fichier par exemple.comment venir à votre backend n'est pas capable de gérer urlencoded des trucs?
Donc ce qui me manque ici? J'ai essayé 3 tentatives et tous de me donner une réponse vide. Je me sens tout est bon.
Pourriez-vous ajouter la demande que vous avez composés à l'aide du facteur de la question?
J'ai mis à jour la question.
OriginalL'auteur Akshay Taru | 2016-06-14
Vous devez vous connecter pour publier un commentaire.
En rénovation 2.0 pour effectuer une requête POST, comme ci-dessus, vous devez utiliser RequestBody type pour votre paramètre comme ceci.
Et voici comment obtenir requestBody de Chaîne.
@Part(Constants.OFFER_CODE) RequestBody offerCode
.Merci vous avez sauvé la journée.
J'ai essayé une requête POST à l'aide de la Rénovation 2. et le type de demande est form-data. essayé d'utiliser
@Field, @Query, @Body
. Mais@Part
avec RequestBody il était. Merci!OriginalL'auteur ikhsan
Voici une autre Solution à l'aide du corps de la requête:
voici mon api inteface méthode POST
Espère que cela aide.
OriginalL'auteur Monster Brain