我尝试使用restful cxf webservice调用从MongoDB中检索文档列表。但我面对
在Class ArrayList中找不到响应正文编写器。
我跟着this tutorial。在这里,他们将员工对象作为CxfRestServiceImpl
类中的响应返回。所以他们使用了@XMLElement(name = 'employee')
。
但是现在我试图将来自MongoDB的文档列表作为CxfRestServiceImpl
类中的响应返回。为了克服这个错误,我需要做些什么改变?
答案 0 :(得分:2)
如果我理解你是对的,那么你的代码就会遇到这个例外。或者,你最好把你的List答案包装在其他课程中。
@XmlRootElement(name="DocumentList")
public class DocumentList {
@XmlElement
public List<Document> documentList;
}
答案 1 :(得分:2)
你可以像这样“包装”到数组
return Response.status(Response.Status.OK).entity(yourList.toArray(new YourObject[yourList.size()])).build();
其中您的列表是List<yourObject>
或ArrayList<yourObject>
答案 2 :(得分:0)
您可以返回服务中的对象列表。 JAXB将从ArrayList
进行转换@GET
@Path("/employees")
public List<Employee> getEmployees()
确保该对象具有JAXB XmlRootElement批注。
@XmlRootElement(name="Employee")
public class Employee{
}