java - Rally REST WS 查询 : Getting ObjectIDs of One-To-Many children using API v2. 0

标签 java web-services api rest rally

在之前的 Rally Java REST WebService API SDK 版本 1.37 中,我可以查询缺陷,并且其子任务的 ObjectID(缺陷的一对多字段,意味着一个缺陷可以有多个任务)也将包含在结果中。

但是,似乎在API版本2.0中,返回的结果不包括任何一个 child 的对象的objectiD,而是仅提及其中有多少个(键=任务,value = {“_rallyapimajor”:_rallyapimajor“:_rallyapimajor”:“2”,“_ rallyapiminor” _ rallyapiminor 。

有没有一种简单的方法可以找到所有一对多子级的 ObjectID,即作为我的缺陷查询的一部分与此缺陷关联的任务的所有 ObjectID?我宁愿不必使用每个返回的 _ref,并使用它来进行查找(这将是很多请求,每个 child 一个)。

谢谢。

最佳答案

您现在可以像查询根级别类型一样查询子集合。

我修改了以下代码示例来执行您要查找的操作:

https://github.com/RallyTools/RallyRestToolkitForJava/blob/master/src/main/resources/examples/com/rallydev/rest/CollectionQueryExample.java

//Assumes you have a defect retrieved already
JsonObject taskInfo = defect.getAsJsonObject("Tasks");
int taskCount = taskInfo.get("Count").getAsInt();
System.out.println(String.format("\nTotal tasks: %d", taskInfo));

if(taskCount > 0) {
    QueryRequest taskRequest = new QueryRequest(taskInfo);
    taskRequest.setFetch(new Fetch("FormattedID", "Name", "State"));

    QueryResponse queryResponse = restApi.query(taskRequest);
    if (queryResponse.wasSuccessful()) {
        for (JsonElement result : queryResponse.getResults()) {
            JsonObject task = result.getAsJsonObject();
            System.out.println(String.format("\t%s - %s: State=%s",
                    task.get("FormattedID").getAsString(),
                    task.get("Name").getAsString(),
                    task.get("State").getAsString()));
        }
    }
}

关于java - Rally REST WS 查询 : Getting ObjectIDs of One-To-Many children using API v2. 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20961089/

相关文章:

java - Java 中的非贪婪正则表达式

java - 从 Sun 应用程序服务器中删除 server.policy

java - 免费网络服务返回城市名称、城市代码和时区

c# - 我们应该如何实现来授权客户使用我们的网络服务?

php - 使用 OAuth2 客户端凭证流保护用 PHP 编写的 REST API

php - 从 Google Analytics 获取所有数据

java - 服务器终止时调用 sessionDestroyed()

java - 浏览器集成ssl证书

java - 如何在 REST Web 服务中使用对象作为参数

python - Django REST API 创建 URL 组合