मेरे पास एक एपीआई अनुरोध है जहां यूआरएल में मुझे एकाधिक @Path पास करने की आवश्यकता है और मैंने ऐसा किया लेकिन मुझे एक त्रुटि मिल रही है, मैं इस मुद्दे के साथ कुछ मदद प्राप्त करना चाहता हूं, अग्रिम धन्यवाद

  • यह यूआरएल का नमूना है
    https://api.site.dev/api/v2/entries/en_US/hello
    
  • यह रेट्रोफिट सेटअप है

  @Singleton
  @Provides
  fun provideRetrofitInstance(): ApiInterface {
      val httpLoggingInterceptor = HttpLoggingInterceptor()
      val interceptor = httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BASIC)
      val okHttp = OkHttpClient.Builder()
              .addInterceptor(interceptor)
              .build()
      return Retrofit.Builder()
              .baseUrl("https://api.site.dev/api/v2/entries/")
              .addConverterFactory(GsonConverterFactory.create())
              .client(okHttp)
              .build()
              .create(ApiInterface::class.java)
  }

  • यह मेरा रेट्रोफिट कॉल है
 Error Unable to create call adapter for class com.dic.mydictionnary.models.DictionnaryModelItem
       for method ApiInterface.getDictionnaryWord

*यह मेरा एपीआईइंटरफेस है

@GET("{language_code}/{word}")
   fun getDictionnaryWord(
           @Path("language_code") language : String,
           @Path("word") word : String,
   ) : DictionnaryModelItem

}
0
Taki 14 फरवरी 2021, 23:42

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा लगता है कि रेट्रोफिट आपके सेवा इंटरफ़ेस के लिए DictionnaryModelItem बनाने का एक तरीका खोजने का प्रयास कर रहा है। आपको इसे इसमें बदलने की जरूरत है:

   @GET("{language_code}/{word}")
   suspend fun getDictionnaryWord(
           @Path("language_code") language : String,
           @Path("word") word : String,
   ) : Response<DictionnaryModelItem>
3
Juan Fraga 15 फरवरी 2021, 01:39
यह सही है, मैंने वास्तव में इसका पता लगा लिया है और चूंकि मैंने फ्लो एपीआई का उपयोग किया है, इसलिए मुझे कीवोड सस्पेंड की याद आ रही थी, लेकिन आपकी पोस्ट वास्तव में सही प्रतिक्रिया दिखाती है, आपके समय और प्रयास के लिए धन्यवाद
 – 
Taki
15 फरवरी 2021, 06:27