我找到了很多关于如何设置球衣服务器以便它可以生成和使用 JAXB 绑定对象的示例,但是我很难找到如何让客户端发布相同的 JAXB 绑定对象的示例。 这个例子展示了如何使用 XML 来做这件事。我正在寻找一个展示如何使用 JSON 来做到这一点的工具。
我什至不确定这是否可行。post方法上的 javadoc不明确。
我的帖子是这样的:
Client client = Client.create();
WebResource resource = client.resource(uri);
ClientResponse response = resource.type(MediaType.APPLICATION_JSON)
.post(ClientResponse.class, instanceWithXmlRootElementAnnotation);
当我尝试这个时,我的服务器会收到请求,但字段@FormParam
总是作为 null 发送过来的。这是我的服务器端方法的签名:
@POST
@Path("apath")
@Consumes(MediaType.APPLICATION_JSON)
public String postAPath(@FormParam("InstanceWithXmlRootElementAnnotation")
InstanceWithXmlRootElementAnnotation instanceWithXmlRootElementAnnotation) {
//instanceWithXmlRootElementAnnotation is always null
我想知道的其他事情是我是否应该使用instanceWithXmlRootElementAnnotation
. 如果这是一个传统的 Web 服务,我会使用 JAXB生成一个对象供客户端使用并通过生成的类发送。但是根据我从链接到的示例中收集到的信息,这个人发送的是源代码,而不是生成的类。