我有一个Jersey客户端成功调用REST服务并根据以下代码填充关联的Java Bean CustomerType
:
WebResource service = client.resource(SECURE_BASE_URL);.
CustomerType cust = service.path("customer").path("23210")
.accept(MediaType.TEXT_XML).get(CustomerType.class);
我想要的是用
来调用服务 service.path("customer").path("23210").accept(MediaType.TEXT_XML).get(String.class);
获取XML字符串,然后将XML转换为CustomerType
bean。我想以这种方式进行日志记录并帮助设计系统。有没有办法将XML转换为bean?
答案 0 :(得分:4)
有很多方法可以做到这一点。如果您的CustomerType
类是JAXB注释的(@XmlRootElement
或其他),您可以简单地使用Unmarshaller
构建的JAXBContext
(您之前已使用您的软件包初始化)像这样:
CustomerType customerType = (CustomerType) jaxbContext.createUnmarshaller()
.unmarshal( new StringReader(yourString) );
答案 1 :(得分:0)
Jersey提供了一个日志过滤器。 This post回答了你的问题。