如何在 Retrofit RxJava Android 中获取 https 状态码?
How to get https status code in Retrofit RxJava Android?
之前我都是用retrofit加载数据。非常容易处理或获取响应的状态码。
但是现在我想用RxJava来使用Retrofit,但是我不知道如何处理或获取onNext方法中响应的https状态码。
progressDialog.show();
Observable<ResponseData> observable = apiService.getData();
compositeDisposable.add(observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<ResponseData>() {
@Override
public void onNext(ResponseData responseData) {
Log.e("pppp", "onNext: " + responseData.toString());
}
@Override
public void onError(Throwable e) {
progressDialog.dismiss();
Log.e("pppp", "onError: " + e.getMessage());
}
@Override
public void onComplete() {
progressDialog.dismiss();
Log.e("pppp", "onComplete");
}
})
);
大家帮我解决这个问题
谢谢!
responseData.code 给你状态码
int statusCode = responseData.code();
获取状态
Observable<ResponseData> observable = apiService.getData();
compositeDisposable.add(observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<ResponseData>() {
@Override
public void onNext(ResponseData responseData) {
int statusCode = responseData.code();
// here you get your status code
Log.e("statusCode ", "onNext: " + statusCode );
}
@Override
public void onError(Throwable e) {
progressDialog.dismiss();
Log.e("pppp", "onError: " + e.getMessage());
}
@Override
public void onComplete() {
progressDialog.dismiss();
Log.e("pppp", "onComplete");
}
})
);
您应该将 ResponseData 包装在 Response 中作为
Observable<Response<ResponseData>> observable = apiService.getData();
然后在onNext里面
@Override
public void onNext(Resposne<ResponseData> response) {
int statusCode = response.code();
}
错误
@Override
public void onError(Throwable e) {
((HttpException) e).code();
}
之前我都是用retrofit加载数据。非常容易处理或获取响应的状态码。
但是现在我想用RxJava来使用Retrofit,但是我不知道如何处理或获取onNext方法中响应的https状态码。
progressDialog.show();
Observable<ResponseData> observable = apiService.getData();
compositeDisposable.add(observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<ResponseData>() {
@Override
public void onNext(ResponseData responseData) {
Log.e("pppp", "onNext: " + responseData.toString());
}
@Override
public void onError(Throwable e) {
progressDialog.dismiss();
Log.e("pppp", "onError: " + e.getMessage());
}
@Override
public void onComplete() {
progressDialog.dismiss();
Log.e("pppp", "onComplete");
}
})
);
大家帮我解决这个问题
谢谢!
responseData.code 给你状态码
int statusCode = responseData.code();
获取状态
Observable<ResponseData> observable = apiService.getData();
compositeDisposable.add(observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<ResponseData>() {
@Override
public void onNext(ResponseData responseData) {
int statusCode = responseData.code();
// here you get your status code
Log.e("statusCode ", "onNext: " + statusCode );
}
@Override
public void onError(Throwable e) {
progressDialog.dismiss();
Log.e("pppp", "onError: " + e.getMessage());
}
@Override
public void onComplete() {
progressDialog.dismiss();
Log.e("pppp", "onComplete");
}
})
);
您应该将 ResponseData 包装在 Response 中作为
Observable<Response<ResponseData>> observable = apiService.getData();
然后在onNext里面
@Override
public void onNext(Resposne<ResponseData> response) {
int statusCode = response.code();
}
错误
@Override
public void onError(Throwable e) {
((HttpException) e).code();
}