android / codelab-android-paging

Jetpack Paging codelab

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] The incorrect splicing of the GitHub API results in empty data from the request.

jixiaoyong opened this issue · comments

Hey there, I recently tried the demo codelab-android-paging/tree/main/advanced/start, and found the list always empty, according to the latest official document the reason is the apiQuery used in both start and end project missed a + between query and IN_QUALIFIER:

as in the start project:

IN_QUALIFIER:

apiQuery:

Same code in [codelab-android-paging/tree/main/advanced/end](https://github.com/android/codelab-android-paging/tree/main/advanced/end)

if we input a query as "Android", the final network request URL will be "https://api.github.com/search/repositories?sort=stars&q=Androidin%3Aname%2Cdescription&page=1&per_page=30"

and the result:

{
  "total_count": 0,
  "incomplete_results": false,
  "items": [
    
  ]
}

after we add a + :

"https://api.github.com/search/repositories?sort=stars&q=Android%2Bin%3Aname%2Cdescription&page=1&per_page=30"

and the result:

{
    "total_count": 64,
    "incomplete_results": false,
    "items": [
        ...
    ]
}

another option, is to have a space between the query and the IN_QUALIFIER:

val apiQuery = "$query $IN_QUALIFIER"