2010-11-29 10 views
8

Estoy buscando una forma genérica de devolver un conjunto de objetos en mi servicio REST. Yo uso los convertidores de mensajes Spring3 y la anotación @ResponseBody.Objeto de devolución genérico para una colección de objetos en la aplicación RESTful Spring3

Algunos sitios JAXB2 decir que tiene "problemas" que regresan una java.util.List estándar, y todos los ejemplos que se encuentran definir una clase específica (por ejemplo, autores, productos, clientes) para cada dominio de datos, tales como:

http://www.ibm.com/developerworks/web/library/wa-spring3webserv/index.html (ver "Colección de los recursos", segundo párrafo)

alguien ha encontrado una manera de proporcionar una clase/enfoque genérico para esto que me repuestos crear todas esas clases de colección?

Actualización 5 de abril de 2011: Realmente no he progresado en esto. La devolución de un objeto de lista genérico siempre da como resultado una JAXBException "clase XXX ni ninguna de sus superclase en este contexto"

Respuesta

1

Al crear servicios REST en un marco JAX-RS (que utiliza JAXB para enlace XML) puede devolver una lista. Para ver un ejemplo:

Qué pasa cuando se intenta hacer esto con la primavera?

+1

El envío de la solicitud REST con un encabezado Aceptar de "aplicación/xml" da como resultado un código de estado NOT_ACCEPTABLE 406. La serialización a JSON a través del tipo de medio "application/json" funciona. Anteriormente, también tuve algunos errores extraños en 500 Internal Server sin ningún registro o salida de consola, pero no puedo reproducir eso ahora ... (por supuesto) :) – Tom

0

Puede devolver un ModelMap y colocar los objetos que desee, incluidas las matrices.

+0

¿De verdad? Aunque, como dije en mi pregunta, ¿estoy usando la anotación @ResponseBody? – Tom

0

Preguntando ... ¿configuró el Tipo de contenido: application/xml en los encabezados de solicitud?

+0

Sí, lo hice – Tom

Cuestiones relacionadas