改装获取请求 returns 空
retrofit get request returns null
我使用从新闻 api 中提取的文章并在我的项目中使用 paging 3 库显示它们,但出于某种原因 @GET 请求 returns 我的响应 class 但变量为空虽然在新闻 api 网站上我的个人资料显示有一个请求。
NewsApi class:
interface NewsApi {
companion object{
const val CLIENT_ID = "356d64b4bfde4cd492ef415beabba030"
const val BASE_URL = "https://newsapi.org/"
}
@Headers("X-Api-Key: ${CLIENT_ID}")
@GET("v2/everything")
suspend fun searchArticles (
@Query("q") query: String,
@Query("page") page: Int,
@Query("pageSize") pageSize: Int,
) : NewsResponse
}
我的回复class:
data class NewsResponse (
val results: List<NewsArticle>)
我尝试了你的 api 并获取了结果,
您的 Api 没问题,问题是您尝试将结果设为
data class NewsResponse (
val results: List<NewsArticle>)
当结果实际上是这样形成的时候:
{
"status":"ok",
"totalResults":14925,
"articles":[
{
"author":"Igor Bonifacic",
"title":"University of ",
"description":"In aide built a robot to com…"
}
]
}
所以将结果更改为:
data class NewsResponse(
val status : String,
val totalResults: Int,
val articles: List<NewsArticle>
)
data class NewsArticle(
val author: String,
val description: String
)
我使用从新闻 api 中提取的文章并在我的项目中使用 paging 3 库显示它们,但出于某种原因 @GET 请求 returns 我的响应 class 但变量为空虽然在新闻 api 网站上我的个人资料显示有一个请求。
NewsApi class:
interface NewsApi {
companion object{
const val CLIENT_ID = "356d64b4bfde4cd492ef415beabba030"
const val BASE_URL = "https://newsapi.org/"
}
@Headers("X-Api-Key: ${CLIENT_ID}")
@GET("v2/everything")
suspend fun searchArticles (
@Query("q") query: String,
@Query("page") page: Int,
@Query("pageSize") pageSize: Int,
) : NewsResponse
}
我的回复class:
data class NewsResponse (
val results: List<NewsArticle>)
我尝试了你的 api 并获取了结果, 您的 Api 没问题,问题是您尝试将结果设为
data class NewsResponse (
val results: List<NewsArticle>)
当结果实际上是这样形成的时候:
{
"status":"ok",
"totalResults":14925,
"articles":[
{
"author":"Igor Bonifacic",
"title":"University of ",
"description":"In aide built a robot to com…"
}
]
}
所以将结果更改为:
data class NewsResponse(
val status : String,
val totalResults: Int,
val articles: List<NewsArticle>
)
data class NewsArticle(
val author: String,
val description: String
)