RESTful Spring3 应用程序中对象集合的通用返回对象
我正在寻找一种在 REST 服务中返回一组对象的通用方法。我使用 Spring3 消息转换器和 @ResponseBody 注释。
一些站点称 JAXB2 在返回标准 java.util.List 时存在“问题”,并且找到的所有示例都为每个数据域定义了专用类(例如作者、产品、客户),例如:
http://www.ibm.com/developerworks/web/library/wa-spring3webserv/index.html (参见“资源集合”,第二段)
有没有人找到一种方法来为此提供通用类/方法,从而使我不必创建所有这些集合类?
2011 年 4 月 5 日更新:我在这方面还没有真正取得任何进展。返回通用列表对象始终会导致 JAXBException“此上下文已知类 XXX 及其任何超类”
I am looking for a generic way of returning a set of objects in my REST service. I use the Spring3 message-converters and the @ResponseBody annotation.
Some sites say that JAXB2 has "problems" returning a standard java.util.List, and all examples found define a dedicated class (e.g. Authors, Products, Customers) for each data domain, such as:
http://www.ibm.com/developerworks/web/library/wa-spring3webserv/index.html
(see "Collection of resources", second paragraph)
Has anyone found a way to provide a generic class/approach for this that spares me creating all those collection classes?
Update 5th April 2011: I haven't really made any progress on this. Returning a generic list object always results in a JAXBException "class XXX nor any of its super class is known to this context"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 JAX-RS 框架(使用 JAXB 进行 XML 绑定)中创建 REST 服务时,您可以返回一个列表。有关示例,请参阅:
当您尝试使用 Spring 执行此操作时会发生什么?
When creating REST services in a JAX-RS framework (which uses JAXB for XML binding) you can return a List. For an example see:
What happens when you try to do this with Spring?
您可以返回一个 ModelMap 并将您想要的任何对象放入其中,包括数组。
You can just return a ModelMap and put whatever objects you want in there including arrays.
想知道...您是否在请求标头中设置了 Content-Type : application/xml ?
Wondering ... did you set the Content-Type : application/xml in the request headers?