title: How do you specify that an API method has no response body?
body: <p>I am trying to use Retrofit 2.0 and the converter-jackson module to consume an API.</p>
  
  <p>I have a few GET methods to get the status of some objects and converting the received payload into the objects works fine.</p>
  
  <p>I also have an endpoint that I need to PUT to in order to acknowledge that I have processed the objects returned to the GET request. This PUT method does not return a body, just a status of 200 if everything works or an appropriate error code.</p>
  
  <p>I have tried a few different ways to specify the put method in my Retrofit interface with no success. I get an error like this:</p>
  
  <pre><code>com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
   at [Source: java.io.InputStreamReader@1d5ef9ae; line: 1, column: 1]
  </code></pre>
  
  <p>if I specify the return type of the method as some object that I don't really expect to receive, like this:</p>
  
  <pre><code>@PUT('/acknowledgeStatus')
  Call&lt;String&gt; acknowledgeStatus(@Body Acknowledgement idsToAcknowledge)
  </code></pre>
  
  <p>and I get errors like this:</p>
  
  <pre><code>java.lang.IllegalArgumentException: Could not locate call adapter for class com.example.MyObject. Tried:
   * retrofit.DefaultCallAdapter$1
  </code></pre>
  
  <p>where <code>MyObject</code> is the object returned by one of my Retrofit API's other GET methods when I try to define the PUT method like either of these:</p>
  
  <pre><code>@PUT('/acknowledgeStatus')
  Call acknowledgeStatus(@Body Acknowledgement idsToAcknowledge)
  
  @PUT('/acknowledgeStatus')
  Response acknowledgeStatus(@Body Acknowledgement idsToAcknowledge)
  </code></pre>
  
  <p>How can tell Retrofit not to expect a response body for this method and still have access to the response status, headers and other details?</p>