Rénovation de jeter exception IllegalArgumentException asynchrones FormUrlEncoded SUPPRIMER appel

Je suis en train de faire de l'asynchrone POST et SUPPRIMER ce qui est de la forme de l'url encodée à l'aide de Rénovation dans Android 4.4

Voici mon client

@FormUrlEncoded
@POST(INetwork.API_BASE_PREFIX + "/memberships.json")
void join(@Field("id") String id, Callback<?> cb);

@FormUrlEncoded
@DELETE(INetwork.API_BASE_PREFIX + "/memberships.json")
void leave(@Field("id") String id, Callback<?> cb);

Et c'est l'exception -

java.lang.IllegalArgumentException: IRepositoryClient.leave: FormUrlEncoded can only be specified on HTTP methods with request body (e.g., @POST).
        at retrofit.RestMethodInfo.methodError(RestMethodInfo.java:118)
        at retrofit.RestMethodInfo.parseMethodAnnotations(RestMethodInfo.java:191)
        at retrofit.RestMethodInfo.init(RestMethodInfo.java:128)
        at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:329)
        at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:264)
        at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:315)
        at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
        at retrofit.Platform$Android$2$1.run(Platform.java:142)
        at java.lang.Thread.run(Thread.java:841)

J'ai regardé à travers la source et, fondamentalement, si la méthode n'a pas un corps, et que la demande est formurlencoded, cette exception est levée. Aussi, j'ai remarqué que tous les exemples de FormUrlEncoded fonctionne parfaitement quand il n'est pas asynchrone, c'est à dire que j'ai un type de retour d'une certaine sorte et pas de rappel - désolé, je suis un peu perdu

Dois-je envoyer un corps est vide? Suis-je obligé d'envoyer l'un et ne pas le @paramètres du Champ suffira?

À L'Aide De Rénovation 1.5.0

N'est-il pas de travail sans @FormUrlEncoded? C'est un encodage du contenu et de suppression ne semble pas avoir de contenu.
1. Ne pouvez pas utiliser les paramètres du champ sans codage - Si je fais ça il y a une exception java.lang.IllegalArgumentException:@Field les paramètres peuvent uniquement être utilisé avec le formulaire d'encodage. (paramètre #1). 2. Supprimer n'ont de contenu, il a l'Id

OriginalL'auteur Rickster | 2014-03-22