web-dev-qa-db-de.com

Android Retrofit: Inhaltstyp als Anwendung / x-www-form-urlencoded

Ziemlich neu in der Android Entwicklung. Ich versuche, mit Retrofit eine Post-Anfrage zu senden. In meinen Retrofit-Protokollen sehe ich

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

Ich habe festgestellt, dass Anfragen nur funktionieren, wenn ich den Inhaltstyp verwende:

application/x-www-form-urlencoded

Ich habe die Brille durchsucht und keine eindeutige Möglichkeit gefunden, den Inhaltstyp explizit festzulegen. Weiß jemand, wie es geht?

41
kinezu

Ändern Sie in der Klasse, in der Sie Ihren Service definieren, die zugehörige Methode, um dem folgenden Muster zu folgen:

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

Bei Retrofit 2 ist das etwas anders:

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