मैं का उपयोग कर रेट्रोफिट 2 बीटा 2 अगले समस्या हो रही है:एपीआई इंटरफेस का विस्तार नहीं होना चाहिए अन्य इंटरफेस पुराना वापस 2
java.lang.IllegalArgumentException: API interfaces must not extend other interfaces.
इसका कारण यह है मैं इस तरह रेट्रोफिट के एपीआई के लिए एक इंटरफेस है:
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);
}
और फिर, मैं तीन अन्य इंटरफेस का के तीन है मी इस रेट्रोफिटबेसैप इंटरफ़ेस से विस्तारित है।
जब मैं दिए गए इंटरफ़ेस के साथ retrofit.create (क्लास क्लास) को कॉल करने का प्रयास करता हूं, तो मुझे हमेशा यह त्रुटि प्राप्त होती है।
जहां तक मैं पढ़ रहा था, एकमात्र समाधान तीन निर्दलीय इंटरफेस बनाने का एकमात्र समाधान है। क्या यह सच है? कोई और समाधान जानता है?
मैं थोड़ा अजीब है कि हम कोड नकल करने की जरूरत है खोजने के लिए, लेकिन अच्छी तरह से है, शायद एक कारण मुझे समझ नहीं आता .....
अग्रिम धन्यवाद है!
धन्यवाद,
संपादित करें: वही समस्या अंतिम रेट्रोफिट 2 रिलीज़ संस्करण का उपयोग कर। मुझे लगता है कि यह रेट्रोफिट से एक सीमा है ....
नहीं, यह संभव नहीं है। आप और अधिक पढ़ सकते हैं [यहां] (https://github.com/square/retrofit/pull/676) – Blackbelt
धन्यवाद आपके उत्तर के लिए बहुत कुछ! और प्रदर्शन प्रदर्शन, desing, आदि के किसी भी विशेष कारण के लिए है ??? या यह केवल संभावित उपयोग मामलों को कम करने के लिए है? – zapotec
@zapotec "रेट्रोफिट रचना का समर्थन करता है। यह पीआर विरासत जोड़ता है।" किसी ने कहा ... –