Android Retrofit: content type as application/x-www-form-urlencoded

kinezu picture kinezu · Feb 3, 2015 · Viewed 39k times · Source

Fairly new to android development. I am trying to use retrofit to send a post request. In my retrofit logs, I am seeing

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

I found that requests will only work if I use the content type:

application/x-www-form-urlencoded

I have searched the googles and have found no clear way to explicitly set the content type. Anyone know how to do it?

Answer

k3v1n4ud3 picture k3v1n4ud3 · Feb 3, 2015

In the class where you define your service, modify the related method to follow the pattern below:

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