我有一个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()) { .....可能会派上用场。

09-25 21:59