tic*_*fab 14 android retrofit http-status-code-204
在Android上,我最初实现了一个像这样的Retrofit界面:
@DELETE(USER_API_BASE_URL + "/{id}")
public void deleteUser(@Path("id") String id, Callback<User> callback);
Run Code Online (Sandbox Code Playgroud)
成功删除后,服务器返回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
Run Code Online (Sandbox Code Playgroud)
但是我从回调中得到了同样的错误.解决这个问题的正确方法是什么?谢谢.
Wil*_*oef 23
Retrofit 2.x不再有ResponseCallback其他答案中提到的那样.你想使用一种Response<Void>类型.
RxJava声明:
@PUT Observable<Response<Void>> foo();
Run Code Online (Sandbox Code Playgroud)
标准声明:
@PUT Call<Response<Void>> bar();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8080 次 |
| 最近记录: |