Lah*_*iep 2 xstream jaxb jersey
我想知道哪种解决方案更适合Jersey Rest Web服务.在某些情况下,JAXB无法处理某些类型.使用XStream更好吗?
注意: 我是EclipseLink JAXB(MOXy)的负责人,也是JAXB(JSR-222)专家组的成员.
我想知道哪种解决方案更适合Jersey Rest Web服务.
JAXB(JSR-222)是JAX-RS的默认绑定层.这意味着如果您有以下方法,JAXB将自动用于将返回类型(Customer
)转换为XML(以及使用Jersey时的JSON).
@GET
@Produces(MediaType.APPLICATION_XML)
@Path("{id}")
public Customer read(@PathParam("id") long id) {
return entityManager.find(Customer.class, id);
}
Run Code Online (Sandbox Code Playgroud)
如果您需要更多地控制JAXBContext,可以使用名为的JAX-RS机制ContextResolver
:
在某些情况下,JAXB无法处理某些类型
JAXB能够处理所有类型,默认情况下或通过使用XmlAdapter
.下面是一些示例,其中a XmlAdapter
与Joda-Time类型和一些不可变域对象一起使用:
使用XStream更好吗?
下面是我写的博客条目的链接,我使用您可能感兴趣的JAXB和XStream将相同的对象模型映射到同一个XML文档:
诸如MOXy之类的JAXB实现还包含许多有用的扩展,例如基于XPath的mapping(@XmlPath
)和外部映射文档:
有关在Jersey中使用MOXy作为JAXB提供程序的示例,请参阅:
归档时间: |
|
查看次数: |
3627 次 |
最近记录: |