2014-10-31 126 views
4

我正在使用Retrofit,我想用tge删除方法请求。我想使用特定的主体,但删除方法不支持。我创建了自定义类删除方法是这样的:删除请求与身体

@Target(METHOD) 
@Retention(RUNTIME) 
@RestMethod(hasBody = true,value = "DELETE") 
public @interface CustomDelete { 

String value();  

} 

但是当我使用它,我有这样的错误:

10-31 16:24:09.459: I/System.out(21090): retrofit.RetrofitError: DELETE does not support writing 

回答

1

我有与删除,以及一个问题,而是一个更基本的一个并发现了这个讨论。在我看来,它可能会回答你的问题。

https://github.com/square/retrofit/issues/426

我的问题是,每当我定义我的接口它给我的方法和运行一个语法错误。 我是否需要在某处添加某些东西才能使用它?

18

尝试这样(改造2.0):

@FormUrlEncoded 
@HTTP(method = "DELETE", path = "/api/resource/etc", hasBody = true) 
Call<ApiResponse> deleteSomething(@Field("id") int id); 
2
@HTTP(method = "DELETE",path="/api/v1/media/{username}/{accesstoken}", hasBody = true) 
Call<MyResponse> deleteArchiveMedia(@Path("username") String username, @Path("accesstoken") String token , 
            @Body DeleteMedia deleteMedia);