如何使用 RESTEasy 客户端框架在 POST 中发送数据

新手上路,请多包涵

我正在使用 RESTEasy 客户端框架来调用 RESTful web 服务。该调用是通过 POST 进行的,并将一些 XML 数据发送到服务器。我该如何做到这一点?

用于实现此目的的注释的神奇咒语是什么?

原文由 David Escandell 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 377
1 个回答

我认为 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();

希望这有帮助,查理

原文由 Charles Akalugwu 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题