Я использую JAX-RS через RestEasy в JBoss AS 6. Когда мой ресурс JAX-RS возвращает коллекцию элементов (например, через Список), 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>
.
С другой стороны, Джерси всегда создает имя, являющееся формой множественного числа элемента, содержащегося в списке:
<items>
<item>
<description>computer</description>
<price>2500</price>
</item>
<item>
<description>tv</description>
<price>1500</price>
</item>
</items>
Я знаю, что можно создать тип оболочки и вернуть его вместосписка, но это довольно сложный обходной путь и делает код более сложным.
Можно ли легко указать имя корневого тега для коллекций?