java - 控制改造调用的错误,如 (404)
问题描述
我想获取 HttpResponse 代码并控制错误以将它们显示给用户。
我有我的静态改造请求:
public class NetworkClient {
//KEY: f663e4c56cc039c837109c82c78bbd69
public static Retrofit getRetrofit(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.themoviedb.org/3/")
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
// .client(OkHttpClient())
.build();
return retrofit;
}
接受请求的 observable 向我返回一个 observable:
public Observer<Response> getObserver(){
Observer<Response> response = new Observer<Response>() {
@Override
public void onSubscribe(Disposable d) {
Log.d("test", "onSubscribe");
}
@Override
public void onNext(Response response) {
Log.d("test", "onNext");
fragmentInterface.showMovies(response);
}
@Override
public void onError(Throwable e) {
Log.d("test", "onError");
e.printStackTrace();
if(e instanceof HttpException){
int errorCode = ((HttpException) e).response().code();
}
}
@Override
public void onComplete() {
Log.d("test", "onComplete");
}
};
return response;
}
我看到我可以从 onError 中得到错误,但我看到我可以有一个类来获取所有类型错误。
解决方案
推荐阅读
- python - 无法解压不可迭代的 int 对象
- python - 如何将辅助 python 文件上传到谷歌云平台?
- google-apps-script - 即使 logger.log 确认了他们的数据,谷歌网络应用服务器也会返回 null
- ibm-cloud - Watson 服务的监控和日志记录
- css - 如何通过 SCSS 导入和使用 Bulma 框架,但不将其所有内容导出到 CSS
- gradle - 如何调用带有参数的jar中的gradle任务
- python - 当对象与表单字段名称不匹配时,在 Flask 视图中填充 WTForm FormField
- php - 使用正则表达式在一行之后一直选择到另一行上的特定单词
- uiwebview - UIWebview 无法访问相机或照片
- java - 子字符串删除 2 个字符而不是 1 个