我正在尝试从 Java 客户端使用 Artifactory REST API(特别是 Artifactory 查询语言),但网站上的示例是用 Groovy(片段)编写的,目前尚不清楚 Java 客户端如何工作。
非常感谢使用 REST API(或 Artifactory Java Client API)执行 AQL 查询的 Java 示例。
对于它的值(value),这里有一个指向 Artifactory 查询语言站点的链接...
https://www.jfrog.com/confluence/display/RTF/Artifactory+Query+Language
最佳答案
Artifactory Java 客户端本身不支持 AQL 查询。 但是,您可以使用通用的 Rest 调用接口(interface) provides创建一个 ArtifactoryRequest指向 AQL API endpoint .
您链接的 wiki 中的示例不是 Groovy,而是 AQL 语法 - 您只需构造一个包含您想要的任何查询的字符串并将其作为请求的主体发送 - 大致类似于
String aqlQuery = "items.find({\"name\": {\"$match\" : \"*test.*\"}})";
Artifactory artifactory = Artifactory.create(url, userName, password);
ArtifactoryRequest aqlRequest = new ArtifactoryRequestImpl()
.method(ArtifactoryRequest.Method.POST)
.apiUrl("/api/search/aql")
.requestBody(aqlQuery);
//Parse this string as json
String aqlResponse = artifactory.restCall(aqlRequest);
响应是一个您可以解析和处理的 JSON - 检查我提供的 API 链接中的示例。
关于java - 在 Java 中寻找 Artifactory 查询语言示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35525097/