我正在调用一个端点以从服务器获取对象列表。使用Retrofit2.0 + RxJava进行api调用。
服务器以这样的方式进行处理:当列表中没有任何项目时,它不返回空列表,而是返回带有响应代码204的null ...
如果我在列表为空的情况下使用Observable<List<Item>>
,则由于正文为空,将触发onError
如果我使用Completable
或Observable<Void>
,将无法处理返回的任何数据。...
我考虑过通过验证错误消息并假设if为null异常继续正常流程来处理此问题,但是我对这种hack并不满意。...
有没有办法处理这种情况?
答案 0 :(得分:0)
您可以在OnError方法中使用它以提高可视性:
@Override
public void onError(Throwable e) {
try {
Log.e("errorL", ((HttpException) e).response().errorBody().string());
} catch (IOException e1) {
e1.printStackTrace();}}
祝你好运!