我正在使用 RESTEasy 客户端框架来调用 RESTful 网络服务。该调用是通过 POST 进行的,并将一些 XML 数据发送到服务器。我该如何实现?
用于实现此目的的注释有什么神奇的咒语?
最佳答案
我认为 David 指的是 RESTeasy“客户端框架”。因此,您的答案(Riduidel)并不是他特别想要的。您的解决方案使用 HttpUrlConnection 作为 http 客户端。使用 resteasy 客户端而不是 HttpUrlConnection 或 DefaultHttpClient 是有益的,因为 resteasy 客户端是 JAX-RS 感知的。要使用 RESTeasy 客户端,您需要构造 org.jboss.resteasy.client.ClientRequest 对象并使用其构造函数和方法构建请求。下面是我如何使用 RESTeasy 的客户端框架来实现 David 的问题。
ClientRequest request = new ClientRequest("http://url/resource/{id}");
StringBuilder sb = new StringBuilder();
sb.append("<user id=\"0\">");
sb.append(" <username>Test User</username>");
sb.append(" <email>test.user@test.com</email>");
sb.append("</user>");
String xmltext = sb.toString();
request.accept("application/xml").pathParameter("id", 1).body( MediaType.APPLICATION_XML, xmltext);
String response = request.postTarget( String.class); //get response and automatically unmarshall to a string.
//or
ClientResponse<String> response = request.post();
希望对您有所帮助, 查理
关于java - 如何使用 RESTEasy 客户端框架在 POST 中发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2877946/