Search code examples
androidkotlinretrofit2kotlin-coroutines

why i am not getting any response


data class NewsResponse(
    val articles: List<Article>,
    val status: String,
    val totalResults: Int
)   

data class Source(
    val id: String,
    val name: String
)

data class Article(
    val author: String,
    val content: String,
    val description: String,
    val publishedAt: String,
    val source: Source,
    val title: String,
    val url: String,
    val urlToImage: String
)

object RetrofitHelper {

    fun getInstances():Retrofit{
        return Retrofit.Builder()
            .baseUrl("https://newsapi.org/")
            .addConverterFactory(GsonConverterFactory.create())
            .build()
    }
}

interface NewsService {

 @GET("v2/everything?")

 suspend fun getNews(@Query("country")country:String,@Query("page")page:Int,@Query("apiKey")apiKey:String):Response<NewsResponse>

}

This below code is written on MainActivity

val newsservice=RetrofitHelper.getInstances().create(NewsService::class.java)

        GlobalScope.launch(Dispatchers.IO) {

            val result=newsservice.getNews(country,page, apiKey)
            if(result.isSuccessful){

                Toast.makeText(this@MainActivity,"HEllo World",Toast.LENGTH_LONG).show()
                 val list=result.body()!!.articles
                list.forEach {
                      Log.d(debug,it.source.id)
                }
            }
        }

Solution

  • I corrected my mistake @Query("country") this was wrong i have to use @Query("q") thats my result giving null list