我正在使用JBoss AS 6中的RestEasy来使用JAX-RS。 当我的JAX-RS资源返回一个项目集合(例如通过List),RESTEasy总是使用名称 collection
作为根元素。
例如:
<collection>
<item>
<description>computer</description>
<price>2500</price>
</item>
<item>
<description>tv</description>
<price>1500</price>
</item>
</collection>
这个XML是由例如以下程序生成的:
@Produces("application/xml")
@Path("xml")
@RequestScoped
public class MyResource {
@GET
@Path("myitems")
public List<Item> getMyItems() {
return ...
}
}
可以看出,RESTEasy创建的根标签总是<collection>
。
而Jersey总是创建包含列表中元素复数形式的名称:
<items>
<item>
<description>computer</description>
<price>2500</price>
</item>
<item>
<description>tv</description>
<price>1500</price>
</item>
</items>
我知道可以创建一个包装类型并返回该类型而不是List,但这是一个相当复杂的解决方法,会使代码更加复杂。
是否可以轻松地指定集合根标记的名称?