У меня возникает следующая проблема с помощью Retrofit 2 beta 2:
java.lang.IllegalArgumentException: API interfaces must not extend other interfaces.
Это связано с тем, что у меня есть один интерфейс для API для переоснащения:
public interface RetrofitBaseAPI {
@POST
Call<LoginResp> login(@Url String url, @Body LoginReq loginReq);
@POST
Call<String> logout(@Url String url, @Header("Cookie") String sid);
}
Например, один из них:
public interface RetrofitWiserLinkAPI extends RetrofitBaseAPI {
@GET("/rs/DeviceIdentification")
Call<DeviceId> getDeviceIdentification(@Header("Cookie") String sid);
}
И затем у меня есть три других интерфейса, три из которых простираются от этого интерфейса RetrofitBaseAPI.
Когда я пытаюсь вызвать retrofit.create(класс класса) с данным интерфейсом, я всегда получаю эту ошибку.
Насколько я читал, единственным решением является создание трех независимых интерфейсов. Это правда? Кто-нибудь знает другое решение?
Я нахожу немного странным, что нам нужно дублировать код, но хорошо, может быть, есть причина, по которой я не понимаю.....
Спасибо заранее!
Спасибо,
EDIT: та же проблема с использованием окончательной версии Retrofit 2. Я предполагаю, что это ограничение от Retrofit....