2015-09-14 74 views
1

我正在使用一個簡單的main方法java類來調用一個restful URL來使用該應用程序。我創建了一個客戶端並試圖調用該URL。我的問題是:如何添加json數據作爲查詢參數?以下是我的方法。如何將json數據添加到客戶端url

public static void main(String[] args) { 
     try { 

      Client client = Client.create(); 

      WebResource webResource = client.resource("http://10.123.85.120:8080/myWebService/updateModel.do?abc=33589&applicationId=8&uuid=9a26038f-6dd1-40b6-b847-f2fd16366fc0&jsonData={"NostudentsOrganized": 1,"Noofcourses": 20,"Noofattendedstudents": 5}"); 

      ClientResponse response = webResource.accept("application/json").get(ClientResponse.class); 

      if (response.getStatus() != 200) { 
       throw new RuntimeException("Failed : HTTP error code : " + response.getStatus()); 
      } 

      String output = response.getEntity(String.class); 

      System.out.println("Output from Server .... \n"); 
      System.out.println(output); 

     } catch (Exception e) { 

      e.printStackTrace(); 

     } 

    } 
+0

你想查詢參數添加到另一臺服務器的呼叫? –

+0

不,在這裏我得到編譯時error.please在這裏修改url – Sthogari

+0

啊對不起,沒有看到其餘的查詢字符串 –

回答

1

您需要在字符串文本中間加上引號:例如,使用\"NostudentsOrganized\"而不是僅僅使用"NostudentsOrganized"

+0

感謝您的回覆現在我沒有收到編譯時錯誤,但我得到運行時錯誤java.lang.IllegalArgumentException:索引142處的查詢中存在非法字符 – Sthogari

0

試試這個:

String jsonData = "{'NostudentsOrganized': 1,'Noofcourses': 20,'Noofattendedstudents': 5}"; 
String uri = "http://10.123.85.120:8080/myWebService/updateModel.do?abc=33589&applicationId=8&uuid=9a26038f-6dd1-40b6-b847-f2fd16366fc0&jsonData" + URLEncoder.encode(jsonData, "UTF-8"); 

WebResource webResource = client.resource(uri); 
//rest of the code 
相關問題