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

标签 java rest resteasy

我正在使用 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/

相关文章:

java - 使用构造函数注入(inject)模式对 spring boot 进行集成测试

java - 如何从 java 方法临时替换 tomcat 的 deployment.properties 中的属性?

rest - 通过 REST 将消息发送到 Azure 服务总线队列

java - 参数顺序与 @XmlType(propOrder) 和 Resteasy jackson

java - 什么是 Resteasy 3.X PreProcessInterceptor 的正确替代品?

java - 如何在 Java 中将 float 转换为整数

java - 如何使用JavaCL创建NVIDIA CUDA的CLContext?

Java:数组中的索引存在,ArrayIndexOutOfBoundsException:0

jQuery .ajax() POST 请求在 RESTful WCF 上抛出 405(方法不允许)

java - GAE 上的 Resteasy 多部分/数据格式文件上传