title: How do I convert a successful Response body to a specific type using retrofit?
body: <p>In async mode retrofit calls </p>
  
  <pre><code>public void success(T t, Response rawResponse)
  </code></pre>
  
  <p>were t is the converted response, and rawResponse is the raw response. This provides you with access to both the raw response and the converted response.</p>
  
  <p>In sync mode you can get either the converted response <strong>OR</strong> the raw response</p>
  
  <p>converted response</p>
  
  <pre><code>@GET("/users/list")
  List&lt;User&gt; userList();
  </code></pre>
  
  <p>raw response</p>
  
  <pre><code>@GET("/users/list")
  Response userList();
  </code></pre>
  
  <p>The Response object does have a method to get the body</p>
  
  <pre><code>TypedInput  getBody()
  </code></pre>
  
  <p>and the retrofit api does have a converter class that can convert this to a java object</p>
  
  <pre><code>Object fromBody(TypedInput body,Type type)
  </code></pre>
  
  <p>But I can not figure out how to get an instance of the Converter object</p>
  
  <p>I might be able to create an instance of the Converter class, but that would require knowledge of the Gson object used to create the RestAdapter, which I may not have access to.  Ideally, I would like obtain a reference to the converter object directly the RestAdpater.</p>
  
  <hr>
  
  <h2>Any of the following will answer my question:</h2>
  
  <ol>
  <li>Is there a way to get a reference to the default Converter used by retrofit?</li>
  <li>Does anyone know how the default Converter is constructed? (there is no default constructor and there are two Constructors <code>public GsonConverter(Gson gson)</code> and public GsonConverter(Gson gson, String charset) </li>
  <li>Is there any other way to get both the raw and converted response in sync mode?</li>
  </ol>