java使用单个
我用Single来获得一些关于改装成功响应的对象,我用SingleObserver
来获得它。当我成功的时候,一切都很好。但是为了在响应时处理onError
,SingleObserver
是可丢弃的,但是我想得到响应代码,而不是所有的错误消息。如何做到这一点
@Override
public void getContainerPropertyCombination(ContainerPropertyCombinationListener containerPropertyCombinationListener) {
formingService.getContainerPropertyCombination(storageHelper.getString(AUTH_TOKEN)).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new SingleObserver<List<ContainerPropertyCombination>>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(List<ContainerPropertyCombination> containerPropertyCombinations) {
containerPropertyCombinationListener.onSuccess(containerPropertyCombinations);
}
@Override
public void onError(Throwable e) {
}
});
}
# 1 楼答案
您可以将改型接口中定义的方法的返回类型包装为Response对象。因此,不是:
你将有:
这样,包括失败响应在内的所有响应都将转到
onSuccess
,您必须根据Response.code()
决定响应是否失败同一问题,但与
Observable
有关: Get response status code using Retrofit 2.0 and RxJava