Ich benutze Retrofit, um einen Post-API-Anruf zu machen, bekomme ich den folgenden Fehler beim Versuch, den Endpunkt zu treffen.Verursacht von: retrofit.RetrofitError: Methode POST muss eine Anfrage haben Körper
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)
versuchen, einen Beitrag api
@POST("/service/v2/auth/ip-address")
rx.Observable<AuthState> verifyIP();
Anruf tatsächlich api
LoginService service = CKRestClient.get().create(LoginService.class);
service.verifyIP().observeOn(AndroidSchedulers.mainThread()).subscribe(
new Action1<AuthState>() {
@Override
public void call(AuthState authState) {
}
});
});
Dank Bart, das hat funktioniert. Ich benutzte service.verifyIP (""). Ich hatte ein Beispielprojekt erstellt, bevor ich in die eigentliche App sprang. Ich habe den gleichen Code ohne dies in der Beispiel-App zu umgehen und es funktioniert. – 3xplore
@ r7v, cool, gut zu hören! –
Warum funktionieren die vorher gut, jetzt funktioniert die Arbeit fehlgeschlagen? Ich weiß nicht warum? – crossle