web-dev-qa-db-fra.com

Android Retrofit: type de contenu en tant qu'application / x-www-form-urlencoded

Assez nouveau pour Android. J'essaie d'utiliser la modification pour envoyer une demande de publication. Dans mes journaux de modification, je vois

Content-Type: text/plain; charset=utf-8

J'ai constaté que les demandes ne fonctionneront que si j'utilise le type de contenu:

application/x-www-form-urlencoded

J'ai recherché les googles et je n'ai trouvé aucun moyen clair de définir explicitement le type de contenu. Quelqu'un sait comment le faire?

41
kinezu

Dans la classe où vous définissez votre service, modifiez la méthode associée pour suivre le modèle ci-dessous:

@FormUrlEncoded
@POST/GET/PUT/DELETE("/your_endpoint")
Object yourMethodName(@Field("your_field") String yourField,...);
90
k3v1n4ud3

En retrofit 2, c'est un peu différent:

@FormUrlEncoded
@POST/GET/PUT/DELETE("/your_endpoint")
Call<Task> createTask (@Field("your_field") String title); 
4