Java 控制改装调用上的错误,如(404)
我想获取HttpResponse代码并控制错误,以便向用户显示它们 我有我的静态改装请求:Java 控制改装调用上的错误,如(404),java,android,retrofit,retrofit2,rx-java2,Java,Android,Retrofit,Retrofit2,Rx Java2,我想获取HttpResponse代码并控制错误,以便向用户显示它们 我有我的静态改装请求: public class NetworkClient { //KEY: f663e4c56cc039c837109c82c78bbd69 public static Retrofit getRetrofit(){ Retrofit retrofit = new Retrofit.Builder()
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;
}
public Observer getObserver(){
观察者响应=新观察者(){
@凌驾
认购的公共无效(一次性d){
Log.d(“测试”、“认购”);
}
@凌驾
public void onNext(响应){
Log.d(“测试”、“onNext”);
碎片接口。放映电影(响应);
}
@凌驾
公共无效申报人(可丢弃的e){
日志d(“测试”、“错误”);
e、 printStackTrace();
if(HttpException的实例){
int errorCode=((HttpException)e).response().code();
}
}
@凌驾
未完成的公共空间(){
Log.d(“测试”、“未完成”);
}
};
返回响应;
}
我知道我可以从OneError中获取错误,但我知道我可以使用一个类来获取所有类型错误。您的baseUrl无效(404是指服务器不知道您在寻找什么)。预期的api url是什么??我知道这一点。但我想你把我的问题弄糊涂了。我想知道如何使用改型和rxjavaI-see控制回调。检查这个线程