如何对此类URL使用改造

问题描述 投票:0回答:1

我正在 kotlin 中使用 Retrofit 从 github 存储库获取问题列表。我想使用搜索 api(我已使用 api.github.com/repos,但我的用例需要 /search)。 如何实现以下格式的查询?

https://api.github.com/search/issues?q=something%20repo:torvalds/linux%20state:已关闭

如何使用基于冒号的空格分隔查询?

我的代码是这样的,但我显然错了

@GET("search/issues")
suspend fun getRepoIssues(
    @Header("Authentication") authToken: String,
    @Query("q") q: String
): Response<APIResponse>

我收到 422 错误

android kotlin retrofit
1个回答
0
投票

身份验证标头应为

"Authorization"
而不是
"Authentication"
。 q 参数应使用 GitHub 搜索 API 的正确格式构建。

更正后的代码如下所示,

interface GitHubService {

    @GET("search/issues")
    suspend fun getRepoIssues(
        @Header("Authorization") authToken: String, 
        @Query("q") q: String
    ): Response<APIResponse>
}

# usage
val query = "something repo:torvalds/linux state:closed"
val response = githubService.getRepoIssues("your_auth_token", query)
© www.soinside.com 2019 - 2024. All rights reserved.