我有一个Researcher类,以及一个名为researcherList的ArrayList,其中包含研究人员列表。
我想从数据库中获取所有研究人员信息,并将其放入我创建的研究人员列表ArrayList中,而我对客户的回复将是研究人员列表。我已经在下面编写了代码,请尝试查看代码并查找错误。它不起作用。它创建一个异常。这是例外
SEVERE: A message body writer for Java type, class java.util.ArrayList, and MIME media type, application/xml, was not found
SEVERE: Mapped exception to response: 500 (Internal Server Error) javax.ws.rs.WebApplicationException
@GET
@Path("/researcher/all")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public Response getAllResearchers() {
//TODO return proper representation object
Researcher res = new Researcher();
List<Researcher> researcherList = new ArrayList<Researcher>();
try {
ResultSet resList = researcher.getAllResearcher();
while (resList.next()) {
res.setId(resList.getInt("id"));
res.setResearcherName(resList.getString("name"));
res.setAge(resList.getInt("age"));
res.setSex(resList.getString("sex"));
res.setCity(resList.getString("city"));
res.setStreet(resList.getString("street"));
res.setTelephone(resList.getString("telephone"));
researcherList.add(res);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
return Response.ok(researcherList).build();
}
最佳答案
您一直在循环添加相同的Researcher
对象!您确定是否需要?
我想在Researcher res = new Researcher();
之后移动while (resList.next()) { .....
可能会派上用场。