title: How Retrofit works under the hood
body: <p>Question regarding Retrofit2:</p>
  
  <p>After you build a Retrofit instance you then call one of the interface (client) methods to "send a request" </p>
  
  <p><strong>For example if you have an interface like this:</strong></p>
  
  <pre><code>@POST("webhook.php")
  Call&lt;String&gt;  queueCustomer(@Body String queue);
  </code></pre>
  
  <p>and a Retrofit instance of "client" that you created with the create method, and then you call it like this:</p>
  
  <pre><code>client.queueCustomer(someString)
  </code></pre>
  
  <p>I'm assuming this is actually making the network request. However, you take the Call object returned from this and call something like:</p>
  
  <pre><code>callObject.enqueue(........)
  </code></pre>
  
  <p>Are you making a follow up network request when you call enqueue? Is this two network requests or is the first part: <code>client.queueCustomer(someString)</code> just constructing the object that will be send via <code>callObject.enqueue(........)</code>? </p>
  
  <p>Thanks in advance</p>