title: Caused by: retrofit.RetrofitError: method POST must have a request body
body: <p>I am using retrofit to make a post api call, I am getting the following error while trying to hit the endpoint.</p>
  
  <pre><code>     Caused by: rx.exceptions.OnErrorNotImplementedException: method POST must have a request body.
              at rx.Observable$30.onError(Observable.java:7334)
              at rx.observers.SafeSubscriber._onError(SafeSubscriber.java:154)
              at rx.observers.SafeSubscriber.onError(SafeSubscriber.java:111)
              at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.pollQueue(OperatorObserveOn.java:197)
              at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber$2.call(OperatorObserveOn.java:173)
              at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
              at android.os.Handler.handleCallback(Handler.java:739)
              at android.os.Handler.dispatchMessage(Handler.java:95)
              at android.os.Looper.loop(Looper.java:135)
              at android.app.ActivityThread.main(ActivityThread.java:5221)
              at java.lang.reflect.Method.invoke(Native Method)
              at java.lang.reflect.Method.invoke(Method.java:372)
              at 
       Caused by: java.lang.IllegalArgumentException: method POST must have a request body.
              at com.squareup.okhttp.Request$Builder.method(Request.java:236)
              at retrofit.client.OkClient.createRequest(OkClient.java:59)
              at retrofit.client.OkClient.execute(OkClient.java:53)
              at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:326)
  </code></pre>
  
  <p>trying to access a post api</p>
  
  <pre><code> @POST("/service/v2/auth/ip-address")
      rx.Observable&lt;AuthState&gt; verifyIP();
  </code></pre>
  
  <p>actual api call</p>
  
  <pre><code>LoginService service = CKRestClient.get().create(LoginService.class);
              service.verifyIP().observeOn(AndroidSchedulers.mainThread()).subscribe(
                      new Action1&lt;AuthState&gt;() {
                          @Override
                          public void call(AuthState authState) {
  
                          }
                      });
          });
  </code></pre>