title: Retrofit making empty body for request in Android
body: <p>I am using Retrofit in android and GsonConverterFactory is converter.</p>
  
  <pre><code>Retrofit retrofit = new Retrofit.Builder()
              .baseUrl("http://xxxxxxx.com")
              .addConverterFactory(GsonConverterFactory.create())
              .build();
  </code></pre>
  
  <p>I want send POST request with body.</p>
  
  <pre><code>public class MasterRequest 
  {
  }
  
  
  public class User extends MasterRequest
  {
   @SerializedName("email")
   public String email = null;
  }
  
   @POST("{path}")
  Call&lt;MasterResponse&gt; registerUser(@Path("path") String path, @Body MasterRequest masterRequest);
  </code></pre>
  
  <p>path is the URL that append with base URL.</p>
  
  <p>When ever I send child class("User") object in parent class reference(MasterRequest), then converter shown empty json; "{}".</p>
  
  <p>But when I send User class object to below registerUser Method, then it working fine.</p>
  
  <pre><code>@POST("{path}")
  Call&lt;MasterResponse&gt; registerUser(@Path("path") String path, @Body User user);
  </code></pre>
  
  <p>How can I send child class object in parent class instance to make request body? </p>