2013-08-23 119 views
2

我尝试将讨论添加到用户故事。返回 参考:代码通过REST API从URL获取ObjectID Java

 QueryResponse storyQueryResponse = restApi.query(storyRequest); 
     JsonObject storyJsonObject = storyQueryResponse.getResults().get(0).getAsJsonObject(); 
     String storyRef = storyJsonObject.get("_ref").toString(); 
     System.out.println("Ref: " + storyRef); 

     Ref ref = new Ref(); 
     System.out.println(ref.getOidFromRef(storyRef)); 
     System.out.println(ref.isRef(storyRef)); 

     createDis.addProperty("Artifact", ref.getOidFromRef(storyRef)); 
     createDis.addProperty("Text", "Java-Java-Java-Java-Java-Java-Java-Java-Java-Java-Java-Java"); 
     CreateRequest createRequest = new CreateRequest("ConversationPost", createDis); 
     CreateResponse createResponse = restApi.create(createRequest); 

的System.out.println(+ storyRef “参考”):部分 “https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement/13097497257

ref.getOidFromRef(storyRef)返回NULL ref.isRef(storyRef)回报FALSE

为什么?

回答

0

这条线是无效的,并导致你的裁判周围有一组额外的引号:

String storyRef = storyJsonObject.get("_ref").toString(); 

它更改为这应该得到它的正常工作:

String storyRef = storyJsonObject.get("_ref").getAsString(); 

始终使用getAs方法而不是toString。