Gewusst wie: senden einer HTTP-delete mit einem Körper in nachrüsten?
Wenn ich versuchen, erstellen Sie eine delete-Methode:
public interface ImageService {
@DELETE("api/v1/attachment")
Call<BaseResponse> delete(@Body DeleteModel deleteModel);
}
Bekomme ich die Fehlermeldung, die im Grunde darauf an, diese Zeile aus dem stacktrace:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Failure delivering result
java.lang.IllegalArgumentException: Non-body HTTP method cannot contain @Body.
Caused by: java.lang.IllegalArgumentException: Non-body HTTP method cannot contain @Body.
Wie kann ich das hinzufügen eines Körpers zu einem delete-Methode ?
Habe ich danach gesucht, hier gefunden, aber 3 nicht Antworten und nichts mit nachrüsten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine vereinfachte Antwort.
Dies wird den trick tun.
Hier ist meine version
Falls Sie Sie verwenden eine alte version, die nicht unterstützt @HTTP, können Sie auch hinzufügen, die eine andere Schnittstelle implementiert, dass das @RestMethod
Und dann wird der Gebrauch:
Hier ein Auszug aus den docs, es ist eine dokumentierte Funktion des HTTP-annotation.
https://square.github.io/retrofit/2.x/retrofit/retrofit2/http/HTTP.html
service:
und in der servercontroller
haben Sie, um die trigger-Bedingung, über etwas, und potenziell zu tun haben, einige Filter für die url/den Kopf/Körper zu entfernen, den Auslöser,
es sei denn, die url löschen/body/header ist einzigartig genug, um nicht zu kollidieren mit post-oder get-Anfragen.