2010-09-27 47 views
0

我想在java中創建一個示例RESTful Web服務,它涉及所有四個CRUD操作,並將其部署在tomcat中。我用JAX-RS(澤西島)庫來實現這個在java中。截至目前,我可以調用GET方法來檢索記錄列表並顯示它。但我不知道如何調用POST,PUT和DELETE方法。任何人都可以告訴如何調用這些方法?在RESTFul Web服務中調用POST方法

+1

你需要知道如何讓客戶打電話給他們,或如何實現POST/PUT/DELETE在服務器端的處理程序? – MStodd 2010-09-27 05:07:18

+0

感謝您的回覆朋友。我寫了服務器端代碼來實現POST/PUT/DELETE操作。例如,對於POST方法的代碼是 「@POST \t @Produces(MediaType.TEXT_HTML) \t @Consumes(MediaType.APPLICATION_FORM_URLENCODED) \t公共無效newContact( \t \t \t @FormParam(」 ID「)串ID, \t \t \t @FormParam( 「名稱」)的字符串的名稱, \t \t \t @Context HttpServletResponse的ServletResponse的 \t)拋出IOException異常{ \t \t \t}「。但我想知道如何調用這個方法。 – Senthil 2010-09-27 05:19:16

回答

0

給這一個鏡頭,你可以很容易地提取在服務器端的鍵/值對:

ClientConfig config = new DefaultClientConfig(); 
com.sun.jersey.api.client.Client client = com.sun.jersey.api.client.Client.create(config); 

MultiValueMap formData = new MultiValueMapImpl(); 
formData.add("key", "value"); 

WebResource resource = client.resource("http://path/to/resource"); 
ClientResponse response = resource.type("application/x-www-form-urlencoded").post(ClientResponse.class, formData); 
+0

謝謝。它爲我工作。我還有一個疑問。有沒有其他方法可以調用這些方法,如直接修改瀏覽器中的url(在url中傳遞參數)? – Senthil 2010-09-27 06:56:01

+0

不是通過將它們放在URL中,我相信這總是會導致GET。你必須使用JavaScript並做一個POST或其他任何方式,或者構造一個表單來填寫method =「post」並點擊提交按鈕。 – MStodd 2010-09-27 07:04:14

+0

非常感謝MStodd的快速響應。我現在清了。 – Senthil 2010-09-27 07:11:46