2017-12-27 5 views
0

Ich habe vor kurzem mit Rxjava2 und Retrofit2 begonnen, Dann möchte ich einen Weg finden, um die einheitliche Callback für die Methode onNext (Response t) und onError zu erstellen (Throwable e). Ich kann die URL in onNext (Response t) von t.response().raw().request().url() abrufen. Aber ich kann nicht den gleichen Weg in onError (Throwable e) finden. Also, was soll ich tun?Retrofit2 & Rxjava2 Wie bekomme ich die Url in der Methode OnError (Throwable e)

+0

können Sie bitte richtig Ihre Anforderungen erklären. Was ich verstehen kann ist, dass Sie einen einzigen Beobachter benötigen, um alle Retrofit-Anrufe zu bearbeiten? –

Antwort

0

Soweit ich weiß, können Sie nur bekommen, wenn die throwable ist eine HttpException, die nur passiert, wenn der Aufruf einen anderen Status als 2XX zurückgegeben.

In diesem Fall können Sie die Antwort von der abwerfbaren und von dort die URL erhalten.

Hier ist eine Art und Weise zu tun, dass:

void onError(Throwable throwable) { 
    if(throwable instanceof HttpException) { 
    HttpUrl url = ((HttpException) throwable) 
         .response() 
         .raw() 
         .request() 
         .url(); 
    // ... 
    } 
    // ... 
} 

hier Informationen über den HttpException

Verwandte Themen