2010-09-27 46 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