2016-06-21 10 views
21
@DELETE("/job/deletejob") 
Observable<JobDeleteResponseModel> jobDelete(@Body JobDeleteRequestModel model); 

otrzymuję ten błąd:@DELETE metoda nie wspiera (metoda HTTP dla organizm nie może zawierać @Body lub @TypedOutput.)

Non-body HTTP method cannot contain @Body or @TypedOutput

może ktoś mi pomóc wyjść z tego? ?

+0

Spróbuj Query zamiast Ciała jako organy Delete wniosków nie mają zdefiniowana semantyka. Zauważ, że wysłanie obiektu na żądanie DELETE może spowodować, że niektóre istniejące implementacje odrzuci żądanie. – PN10

+0

Sprawdź ten link, może to pomóc u https://github.com/square/retrofit/issues/458 – PN10

Odpowiedz

64

Użyłem tego oficjalnego obejście ostatnio:

@HTTP(method = "DELETE", path = "/job/deletejob", hasBody = true) 
Observable<JobDeleteResponseModel> jobDelete(@Body JobDeleteRequestModel model); 
+2

Dzięki, zadziałało: D – A7madev

+0

Dzięki temu zadziałało. – pravin

+0

Nie działa. Użyłem w poniższy link: https://stackoverflow.com/questions/48539478/custom-http-method-not-working-in-retrofit-2# Czy możesz pomóc. –

0

spróbować tego, że pracują

@HTTP(method = "DELETE", path = "api/v3/delete", hasBody = true) 
Call<ResponseBody> RESPONSE_BODY_CALL(@Header("Authorization") String authorization, @Body HashMap<String, List> stringListHashMap); 

lub sprawdź https://github.com/square/retrofit/issues/974