处理空服务器响应案例
Posted
技术标签:
【中文标题】处理空服务器响应案例【英文标题】:Handle null server response cases 【发布时间】:2019-07-11 21:12:35 【问题描述】:我正在调用端点以从服务器获取对象列表。 api调用使用Retrofit2.0 + RxJava。
服务器已经这样做了,当列表中没有项目时,它不会返回一个空列表,而是返回 null 并返回响应代码 204...
如果我在列表为空时使用Observable<List<Item>>
,它会因为 null 正文而命中 onError
如果我使用Completable
或Observable<Void>
,我将无法处理返回的任何数据......
我曾考虑通过验证错误消息并假设 if 为空异常以继续正常流程来处理此问题,但我对这种 hack 并不完全满意......
有没有办法处理这种情况?
【问题讨论】:
也许这会有所帮助:***.com/questions/43702427/… 【参考方案1】: 204 : 无内容表示查询成功处理但没有信息返回。您可以在 OnError 方法中使用它以获得更多可见性:
@Override
public void onError(Throwable e)
try
Log.e("errorL", ((HttpException) e).response().errorBody().string());
catch (IOException e1)
e1.printStackTrace();
祝你好运!
【讨论】:
以上是关于处理空服务器响应案例的主要内容,如果未能解决你的问题,请参考以下文章