使用 JAX-RS 时返回对象列表
如何返回 XML 或 JSON 格式的 Question 对象列表?
@Path("all")
@GET
public List<Question> getAllQuestions() {
return questionDAO.getAllQuestions();
}
我得到这个异常:
严重:响应的映射异常:500(内部服务器错误) javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException:Java 的消息正文编写器 java.util.Vector 类和 Java 类型 java.util.List 和 MIME 媒体 找不到类型 application/octet-stream
How can I return a list of Question objects in XML or JSON?
@Path("all")
@GET
public List<Question> getAllQuestions() {
return questionDAO.getAllQuestions();
}
I get this exception:
SEVERE: Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException:
com.sun.jersey.api.MessageException: A message body writer for Java
class java.util.Vector, and Java type
java.util.List, and MIME media
type application/octet-stream was not found
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
尝试:
如果您的目标是返回项目列表,您可以使用:
编辑
上面添加了原来的答案
Try:
If your goal is to return a list of item you can use:
Edit
Added original answer above
在我的例子中,通过将 POJOMappingFeature init 参数添加到 REST servlet 解决了同样的问题,所以它看起来像这样:
现在它甚至可以在 Weblogic 12c 上返回 List。
The same problem in my case was solved by adding the POJOMappingFeature init param to the REST servlet, so it looks like this:
Now it even works with returning List on Weblogic 12c.
首先,您应该设置正确的
@Produces
注释。其次,您可以使用
GenericEntity
序列化列表。First of all, you should set proper
@Produces
annotation.And second, you can use
GenericEntity
to serialize a list.您的 Web 服务可能如下所示:
那么您应该创建一个 Provider,MessageBodyWriter:
Your webservice may look like this:
then you should create a Provider, MessageBodyWriter: