【发布时间】:2016-03-27 18:35:05
【问题描述】:
我正在使用 Retrofit 2.0,我正在我的 Android 应用程序中实现删除功能,但是我无法成功,有人可以给我建议吗?
我都试过了:
@DELETE("books/{id}") void deleteBook(@Path("id") int itemId);
@DELETE("books/{id}") void deleteBook(@Path("id") int bookId, Callback<Response> callback);
我收到错误 java.lang.IllegalArgumentException:服务方法不能返回 void。对于方法 LibraryService.deleteBook。
我也试了一下:
Response deleteBook(@Path("id") int bookId);
Call<Response> deleteBook(@Path("id") int bookId);
无论我使用okhttp3.Response 还是retrofit2.Response,都会报错:'*.Response' is not a valid response body type。您是说 ResponseBody 吗?
谁能给我一个成功删除的例子?我在网上搜索,但找不到足够的信息。非常感谢。
【问题讨论】:
-
DELETE 注释使用什么导入?困惑为什么请求将其解析为 GET....
-
@Lucas 现在很困惑,
import retrofit2.http.DELETE; import retrofit2.http.GET; import retrofit2.http.POST; import retrofit2.http.PUT; import retrofit2.http.Path;因为当我实现 PUT 功能但 url 相同时,@PUT("books/{id}") Call<Book> updateBook(@Path("id") int bookId , @Body Book book);我遇到了同样的问题,响应请求方法是“GET” -
对于下面的问题,我新建一个问题:stackoverflow.com/questions/36255825/…
标签: java android retrofit retrofit2 http-delete