RESTEasy返回的集合中的根元素名称

我在JBoss AS 6中通过RestEasy使用JAX-RS。当我的JAX-RS资源返回一个项集合时(例如通过List),RESTEasy总是使用名称collection作为根元素。

例如

   computer 2500   tv 1500   

此XML由以下内容生成:

 @Produces("application/xml") @Path("xml") @RequestScoped public class MyResource { @GET @Path("myitems") public List getMyItems() { return ... } } 

可以看出,RESTEasy创建的根标记始终是

另一方面,泽西岛总是创建一个名称,该名称是列表中包含的元素的复数forms:

   computer 2500   tv 1500   

我知道可以创建一个包装类型并返回而不是List,但这是一个相当精细的解决方法,使代码更复杂。

是否可以轻松指定集合的​​根标记名称?

似乎是RTFM的案例: RestEasy docs – JAXB对象的数组和集合

所以,如果我们想输出这个XML

  bill monica  

我们将使用@Wrapped注释,如下所示:

 @GET @Path("list") @Produces("application/xml") @Wrapped(element="list", namespace="http://foo.org", prefix="foo") public List getCustomerSet() { ... } 

因此可以通过@Wrapped注释。 这是一个RESTEasy特定的,但现在这样做。

如果某人有更好的解决方案(仍在寻找让RESTEasy做泽西所做的全局拦截器orso),请保持打开问题。