我正在使用Retrofit,我想用tge delete方法发出请求。我想使用特定的主体,但删除方法不支持。我为delete方法创建了自定义类,如下所示:
@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
答案 0 :(得分:22)
试试这个(使用Retrofit 2.0):
@FormUrlEncoded
@HTTP(method = "DELETE", path = "/api/resource/etc", hasBody = true)
Call<ApiResponse> deleteSomething(@Field("id") int id);
答案 1 :(得分: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);
答案 2 :(得分:1)
我遇到DELETE的问题,但是更基本的问题,并发现了这个讨论。在我看来,它可能会回答你的问题。
https://github.com/square/retrofit/issues/426
我的问题是,无论何时我定义我的界面,它都会在METHOD和RUNTIME上给出语法错误。 我是否需要在某处包含某些内容才能使用它?