σφάλματα ελέγχου για τις κλήσεις εκ των υστέρων εξοπλισμού όπως (404)

ψήφοι
0

Θέλω να πάρω τον κωδικό 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;
        }

Και παρατηρήσιμα που παίρνει η αίτηση μου επιστρέφει ένα παρατηρήσιμο:

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, αλλά βλέπω εγώ μπορεί να έχει μια τάξη για να πάρει όλα τα λάθη τύπου.

Δημοσιεύθηκε 09/10/2019 στις 18:52
πηγή χρήστη
Σε άλλες γλώσσες...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more