Dzięki Retrofit 2 możesz ustawić pełny adres URL w adnotacji metody usługi, na przykład:
public interface APIService {
@GET("http://api.mysite.com/user/list")
Call<Users> getUsers();
}
Jednak w mojej aplikacji adresy URL moich usług internetowych nie są znane w czasie kompilacji, aplikacja pobiera je w pobranym pliku, więc zastanawiam się, jak mogę użyć Retrofit 2 z pełnym dynamicznym adresem URL.
Próbowałem ustawić pełną ścieżkę, taką jak:
public interface APIService {
@GET("{fullUrl}")
Call<Users> getUsers(@Path("fullUrl") fullUrl);
}
new Retrofit.Builder()
.baseUrl("http://api.mysite.com/")
.build()
.create(APIService.class)
.getUsers("http://api.mysite.com/user/list"); // this url should be dynamic
.execute();
Ale tutaj Retrofit nie widzi, że ścieżka jest w rzeczywistości pełnym adresem URL i próbuje pobrać http://api.mysite.com/http%3A%2F%2Fapi.mysite.com%2Fuser%2Flist
Masz jakąś wskazówkę, jak mógłbym użyć Retrofit z tak dynamicznym adresem URL?
Dziękuję Ci