在 Android 上,我最初实现了一个像这样的 Retrofit 界面:
@DELETE(USER_API_BASE_URL + "/{id}")
public void deleteUser(@Path("id") String id, Callback<User> callback);
成功删除后,服务器返回 204 NO CONTENT。这导致回调触发失败,retrofit.RetrofitError: End of input at character 0 of
,因为它期待User
反对并回应。
然后我像这样重写它,使用Void
代替User
:
@DELETE(USER_API_BASE_URL + "/{id}")
public void deleteUser(@Path("id") String id, Callback<Void> callback); <-- VOID
但我从回调中得到了同样的错误。
解决这个问题的正确方法是什么?谢谢。
Retrofit 2.x
不再有ResponseCallback
正如另一个答案中提到的。你想使用一个Response<Void>
type.
RxJava 声明:
@PUT Observable<Response<Void>> foo();
标准声明:
@PUT Call<Response<Void>> bar();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)