title: Retrofit - @Body parameters cannot be used with form or multi-part encoding
body: <p>I m trying to make a request in which I want to include a Header , a form-urlencoded field and a json body. 
  My Retrofit interface is as follows </p>
  
  <pre><code>@FormUrlEncoded
  @POST("/api/register")
  Observable&lt;RegisterResponse&gt; register(
      @Header("Authorization") String authorization, 
      @Field("grant_type") String grantType, 
      @Body RegisterBody body
  );
  </code></pre>
  
  <p>When I make this request I get back exception <code>@Body</code> parameters cannot be used with form or multi-part encoding.<br>
  I have also tried with the <code>@Multipart</code> annotation:</p>
  
  <pre><code>@Multipart
  @FormUrlEncoded
  @POST("/api/register")
  Observable&lt;RegisterResponse&gt; register(
      @Header("Authorization") String authorization, 
      @Part("grant_type") TypedString grantType, 
      @Body RegisterBody body
  );
  </code></pre>
  
  <p>and I  get an <code>IllegalArgumentException</code> and only one encoding annotation is allowed. </p>