我需要根据一些标签过滤器列出所有应用程序。
https://argocd_domain/api/v1/applications
为了列出 argoCD API 中的所有应用程序,我想放置所有可能的过滤器。
Argo CD API 记录在其Swagger 文档中。
将该 JSON 复制并粘贴到Swagger Editor中,您将获得一个格式良好的描述 API 的页面。这是列出应用程序的部分:
处理列表应用程序请求的函数调用ConvertSelectorToLabelsMap。阅读该解析函数的实现,您可以找到参数的预期格式selector。
乍一看,格式似乎是逗号分隔的对列表key=value。
使用 Swagger 编辑器,我生成了此测试 URL:
curl -X GET "https://editor.swagger.io/api/v1/applications?selector=label1%3Dvalue1%2Clabel2%3Dvalue2" -H "accept: application/json"
Run Code Online (Sandbox Code Playgroud)
看起来您需要对等号和逗号进行 URL 编码。
您可以通过在 Argo CD 服务器地址中设置 /swagger-ui 的路径来找到 Swagger 文档。例如http://localhost:8080/swagger-ui。