上周,我编写了一段代码,该代码与GitHub API集成并获取给定组织中所有存储库的列表。这确实充分利用了分页功能,每页可获取30个项目。我添加的选项之一是选择如何对结果进行排序,该结果基于the documentation并将其添加到查询字符串中:
sort=[created,updated,pushed,full_name]
根据我们的要求,我默认将此选项按名称(full_name
)排序。上周,它正在工作。今天,同样的错误给了我
502 Bad Gateway
带有JSON正文:
{
"message": "Server Error"
}
如果我按任何其他字段排序,或者完全省略此查询参数,则请求运行正常。我什至可以放入任何垃圾不存在的字段,例如abc
,但我仍然会收到响应(不进行排序)。另外,如果我获取用户(而不是组织)的所有存储库,则可以按full_name
进行排序。列出组织存储库时,我只是无法按full_name
进行排序。
完整的示例请求(使用apple
作为示例组织)
GET https://api.github.com/orgs/apple/repos?sort=full_name
我在这里做错什么了吗?还是API有问题?
截至最初发布此问题大约1.5个小时后,现在我得到的是502 Bad Gateway
,而没有JSON正文,而不是出现JSON正文的500 Internal Server Error
错误。
Aaaa和此编辑几分钟后,又回到502错误。
更奇怪的是,使用full_name
的失败请求大约需要9619ms响应,而使用pushed
排序的相同请求大约需要906ms响应。