Java 使用单个
我使用Single来获得一些关于改装成功响应的对象,我使用SingleObserver来获得它。当我成功的时候,一切都很好。但要处理OneError,SingleObserver在响应时是可以丢弃的,但我想得到响应代码,而不是所有的错误消息。如何做到这一点Java 使用单个,java,android,retrofit,retrofit2,Java,Android,Retrofit,Retrofit2,我使用Single来获得一些关于改装成功响应的对象,我使用SingleObserver来获得它。当我成功的时候,一切都很好。但要处理OneError,SingleObserver在响应时是可以丢弃的,但我想得到响应代码,而不是所有的错误消息。如何做到这一点 @Override public void getContainerPropertyCombination(ContainerPropertyCombinationListener containerPropertyCombinationLi
@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) {
}
});
}
您可以将改装接口中定义的方法的返回类型包装到对象。因此,不是:
Single<List<ContainerPropertyCombination>> getContainerPropertyCombination(String token)
你将有:
Single<Response<List<ContainerPropertyCombination>>> getContainerPropertyCombination(String token)
这样,包括失败响应在内的所有响应都将转到onSuccess,您必须根据Response.code决定响应是否失败
同样的问题,但可以观察到: