2016-04-10 22 views
6

Esiste la possibilità di confrontare un URL Call con un String in Retrofit 2?Retrofit 2 Controlla l'URL della chiamata

Per esempio possiamo prendere questo baseUrl:

https://www.google.com 

E questo Call:

public interface ExampleService { 
    @GET("dummy/{examplePartialUrl}/") 
    Call<JsonObject> exampleList(@Path("examplePartialUrl") String examplePartialUrl; 
} 

con questa richiesta:

Call<JsonObject> mCall = dummyService.exampleList("partialDummy") 

C'è un modo per ottenere https://www.google.com/dummy/partialDummy o anche dummy/partialDummy prima di ottenere il respo dalla chiamata?

risposta

11

Supponendo che si sta utilizzando OkHttp fianco di retrofit, si potrebbe fare qualcosa di simile:

dummyService.exampleList("partialDummy").request().url().toString()

che secondo la documentazione OkHttp dovrebbe stampare:

https://www.google.com/dummy/partialDummy

+0

Grazie mille, mi anche modificato la risposta aggiungendo ".url()" per restituire solo url nel formato stringa. –

+0

Grazie per la modifica, ho dimenticato di aggiungerlo. :) –

+1

Grazie per la risposta. Puoi spiegare, come possiamo Achive stessa cosa durante l'utilizzo di RxJava ?? Perché in tal caso, il tipo restituito sarà Osservabile, quindi come ottenere request() e url ?? –

Problemi correlati