2014-09-03 17 views
0

我試圖用球衣做項目

我已經寫了一些Java代碼返回JSON的JIRA搜索項目ID學會RESTful Web服務的一個JIRA搜索時入門404未找到,代碼基於由貝恩德園藝(BP206在connect2014)創建

 ClientConfig config = new DefaultClientConfig(); 
     Client client = Client.create(config); 
     HTTPBasicAuthFilter authFilter = new HTTPBasicAuthFilter("username", "password"); 
     client.addFilter(authFilter); 
     WebResource service = client.resource(getBaseURI()); 

     String searchquery = "search?jql=id=" + id + "&maxResults=5000"; 
     System.out.println("Query=" + searchquery); 

     String json = service.path(searchquery).accept(
       MediaType.APPLICATION_JSON).get(String.class); 

我一直在使用這兩種郵差並將其放入瀏覽器的URL測試的搜索和返回數據。

http://myserver:8080/rest/api/2/search?jql=id=12408&maxResults=5000 

當我在我的java代碼中嘗試它時出現以下錯誤;

com.sun.jersey.api.client.UniformInterfaceException: GET http://myserver:8080/rest/api/2/search%3Fjql=id=12408&maxResults=5000 returned a response status of 404 Not Found 

它似乎在改變'?'到「%3F」的搜索不喜歡

回答

0

你指定查詢作爲路徑的一部分,所以它是被轉義爲這樣:

String json = service.path(searchquery).accept(
      MediaType.APPLICATION_JSON).get(String.class); 

你想讓它的查詢參數:

String json = service.path("search") 
      .queryParam("jql", "id=" + id) 
      .queryParam("maxResults", "5000) 
      .accept(MediaType.APPLICATION_JSON).get(String.class); 
+0

非常感謝您的回覆 – 2014-09-04 10:54:48

相關問題