Estoy usando JAX-RS a través de RestEasy en JBoss AS 6. Cuando mi recurso JAX-RS devuelve una colección de elementos (por ejemplo, a través de una Lista), RESTEasy siempre usa el nombre collection
como el elemento raízNombre del elemento raíz en colecciones devuelto por RESTEasy
E.g.
<collection>
<item>
<description>computer</description>
<price>2500</price>
</item>
<item>
<description>tv</description>
<price>1500</price>
</item>
</collection>
Este XML es generado por ej .:
@Produces("application/xml")
@Path("xml")
@RequestScoped
public class MyResource {
@GET
@Path("myitems")
public List<Item> getMyItems() {
return ...
}
}
Como se puede ver la etiqueta raíz que ha sido creado por RESTEasy es siempre <collection>
.
Jersey el otro lado siempre crea un nombre que es la forma plural del elemento que figura en la lista:
<items>
<item>
<description>computer</description>
<price>2500</price>
</item>
<item>
<description>tv</description>
<price>1500</price>
</item>
</items>
Sé que es posible crear un tipo de envoltorio y volver que en lugar de una lista, pero esa es una solución bastante elaborada y hace que el código sea más complicado.
¿Es posible especificar fácilmente cuál es el nombre de la etiqueta raíz para las colecciones?
Ligeramente relacionado, aunque desde una perspectiva JAXB: http://stackoverflow.com/questions/2827788/how-do-i-marshal-java-util-list-with-jaxb-like-jax-rs-cxf- and-jersey-do –