#retrofit2
Вопрос:
У нас есть API обнаружения служб, который использует библиотеку Retrofit 2. Примером использования в потребляющем приложении может быть
mEurekaDiscoveryApi.getAvailableServices(Constants.SERVICE_ID).enqueue(// ...)
Однако сегодня ко мне пришел руководитель моей команды и сказал, что я должен перейти SERVICE_ID
в конструктор клиента, изменить подпись, чтобы вызов метода стал
mEurekaDiscoveryApi.getAvailableServices().enqueue(// ...)
Я играл с API, но мне не удалось заставить его работать.
Текущий
@GET("/eureka/apps/{appID}")
Call<ApplicationWrapper> getAvailableServices(@Path("appID") String appID);
Экспериментальный
@GET(String.format("/eureka/apps/{appID}", getUrl()))
Call<ApplicationWrapper> getAvailableServices();
String getUrl();
Проблема с этим в том, что я получаю ошибку времени компиляции со словами «Значение атрибута должно быть постоянным».
Цель состоит в том, чтобы позвонить getAvailableServices()
без параметра. Есть ли какой-нибудь способ обойти это? Или то, что я пытаюсь сделать, невозможно?