首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >RXjava反序列化

RXjava反序列化
EN

Stack Overflow用户
提问于 2018-05-31 05:56:11
回答 1查看 161关注 0票数 0

当我的http(204)是空的时候,我得到了一个运行时异常。

它似乎不能反序列化null/空的http响应。有没有办法在不引发异常的情况下做到这一点?

由于我使用了spring,它将我的事务标记为回滚,我希望避免这种情况,因为获取一个空的正文并不是一个错误。

代码语言:javascript
复制
Single<myobject> cp = cpApi.findOne(myparam);
try {
    return cp.blockingGet();
} catch(RuntimeException t) {
    throw new RuntimeException(t.getMessage());
}

java.lang.ClassCastException:无法在io.reactivex.internal.observers.ConsumerSingleObserver.onSuccess(ConsumerSingleObserver.java:59) at io.reactivex.internal.operators.observable.ObservableSingleSingle$SingleElementObserver.onComplete(ObservableSingleSingle.java:111) at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onComplete(BodyObservable.java:66) at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:48)

将java.lang.String强制转换为com.myproject.model.myobject

EN

回答 1

Stack Overflow用户

发布于 2018-05-31 08:18:24

我想通了。这不是最优雅的解决方案,但它是可行的。

代码语言:javascript
复制
myobject notfound = new myobject();
Single<myobject> cp = cpApi.findOne(myparam);
myobject r = cp.onErrorReturnItem(notfound).blockingGet();
if(r.equals(notfound))
   return null;
return r;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50613890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档