title: With Retrofit2, unable to send JSON body in POST request
body: <p>I am using the following piece of code to implement an API with the POST method and raw <code>JsonObject</code> as body.</p>
  
  <pre class="lang-java prettyprint-override"><code>public interface PostRawJsonService {
      @POST
      Call&lt;Model&gt; submitData(@Url String url, @HeaderMap Map&lt;String, String&gt; headers, @Body Email email);
  }
  </code></pre>
  
  <p>The email model is:</p>
  
  <pre><code>public class Email {
      private String email;
  
      public Email(String email) {
          this.email = email;
      }
  }
  </code></pre>
  
  <p>And I am calling it like this:</p>
  
  <pre class="lang-java prettyprint-override"><code>Email email= new Email("team@gmail.com");
  Call&lt;Model&gt; call = service.submitData(url, headers, email);
  </code></pre>
  
  <p>This isn't working and code seems to be stuck at <code>Call&lt;Model&gt; call = service.submitData(url, headers, email);</code> line , and the log isn't showing any error as well. What could be the issue?</p>
  
  <p>While I'm printing the request, it is as follows:</p>
  
  <pre><code>{   "body": {
      "contentType": {
        "mediaType": "application/json",
        "subtype": "json",
        "type": "application"
      }   },   "headers": {
      "namesAndValues": [
        "Authorization",
        "xyz"
      ]   },   "method": "POST",   "url": {
      "host": "my.company.com",
      "password": "",
      "pathSegments": [
        "data",
        "next",
        "email"
      ],
      "port": 443,
      "scheme": "https",
      "url": "https://my.company.com/data/next/email",
      "username": ""   } }
  </code></pre>