title: java.lang.IllegalArgumentException: Unable to create call adapter for interface retrofit.Call
body: <p>The code in my <strong>VSApiEndpointInterface</strong></p>
  
  <pre><code>@POST(REGISTER_USER)
  Call registerUser(@Body User user);
  </code></pre>
  
  <p>The class of user looks like as below.</p>
  
  <pre><code>public class User {
      String email;
      String password;
  
      public User(String email, String password) {
          this.email = email;
          this.password = password;
      }
  }
  </code></pre>
  
  <p>In main Activity, I make object of user,</p>
  
  <pre><code>User user = new User("hello_new_user@gmail.com", "123456");
  
  
  Call call = apiService.registerUser(user);
                  call.enqueue(new Callback&lt;User&gt;() {
                      @Override
                      public void onResponse(Response&lt;User&gt; response, Retrofit retrofit) {
                          int statusCode = response.code();
                          System.out.print("Veer " +response.body());
                      }
  
                      @Override
                      public void onFailure(Throwable t) {
                          // Log error here since request failed
                      }
                  });
  </code></pre>
  
  <p>I also tried, </p>
  
  <pre><code>Call&lt;User&gt; registerUser(@Body User user);
  </code></pre>
  
  <p>But same error. </p>
  
  <p>FULL TRACK</p>
  
  <pre><code>   11-29 10:12:59.299 28854-28854/com.myapp.app W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41017258)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime: FATAL EXCEPTION: main
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime: java.lang.IllegalArgumentException: Unable to create call adapter for interface retrofit.Call
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     for method VSApiEndpointInterface.registerUser
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.Utils.methodError(Utils.java:177)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.MethodHandler.createCallAdapter(MethodHandler.java:47)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.MethodHandler.create(MethodHandler.java:26)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.Retrofit.loadMethodHandler(Retrofit.java:151)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.Retrofit$1.invoke(Retrofit.java:132)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at $Proxy0.registerUser(Native Method)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at com.myapp.app.activity.LoginActivity$1.onClick(LoginActivity.java:48)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.view.View.performClick(View.java:3517)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.view.View$PerformClick.run(View.java:14155)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.os.Handler.handleCallback(Handler.java:605)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:92)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:4508)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:  Caused by: java.lang.IllegalArgumentException: Call return type must be parameterized as Call&lt;Foo&gt; or Call&lt;? extends Foo&gt;
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.Utils.getCallResponseType(Utils.java:185)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.ExecutorCallAdapterFactory.get(ExecutorCallAdapterFactory.java:35)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.Retrofit.nextCallAdapter(Retrofit.java:189)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.Retrofit.callAdapter(Retrofit.java:175)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.MethodHandler.createCallAdapter(MethodHandler.java:45)
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.MethodHandler.create(MethodHandler.java:26) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.Retrofit.loadMethodHandler(Retrofit.java:151) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at retrofit.Retrofit$1.invoke(Retrofit.java:132) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at $Proxy0.registerUser(Native Method) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at com.myapp.app.activity.LoginActivity$1.onClick(LoginActivity.java:48) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.view.View.performClick(View.java:3517) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.view.View$PerformClick.run(View.java:14155) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.os.Handler.handleCallback(Handler.java:605) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:92) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:4508) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576) 
      11-29 10:12:59.326 28854-28854/com.myapp.app E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method) 
  </code></pre>
  
  <p>I want to know my mistake in code. secondly reason of error.</p>
  
  <p>Thanks.</p>