问题描述
至少可以说这令人困惑。我已经设置了restAPI,用于从MysqL表中收集数据。我还拥有一个单独的GUI,可以直接针对本地MysqL数据库测试我的方法,以确保在继续操作之前它们可以正常工作。我正在通过GUI和API以完全相同的方式访问完全相同的方法。唯一的区别在于它如何返回数据。通过GUI访问该方法时,一切正常。但是,通过我的API访问该列表时,该列表不会被填充,而是保持为空。附加来自我的API,GUI和它们都将访问的方法的代码,尽管结果会有所不同。
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_JSON)
public Response getAllJson() throws Exception{
ToolBox tx = new ToolBox();
ArrayList<Actors> ac = tx.acList();
return Response.ok(ac).build();
}
public ArrayList<Actors> acList() throws Exception {
ArrayList<Actors> acList = new ArrayList<Actors>();
try {
getConnection();
PreparedStatement st = conn.prepareStatement("SELECT * FROM Actors");
ResultSet rst = st.executeQuery();
Actors ac;
while (rst.next()) {
ac = new Actors(rst.getInt("ActorId"),rst.getString("fName"),rst.getString("eName"),rst.getInt("Age"),rst.getInt("NoOfCredits"),rst.getString("Country"));
acList.add(ac);
}
} catch (Exception e) {
e.printstacktrace();
}
return acList;
}
private void RESTcallerActionPerformed(java.awt.event.ActionEvent evt) {
try {
ToolBox tx = new ToolBox();
ArrayList<Actors> ac = tx.acList();
DefaultTableModel mdl = (DefaultTableModel)MainTable.getModel();
Object[] row = new Object [6];
mdl.setRowCount(0);
for (int i=0; i<ac.size(); i++){
row[0] = ac.get(i).getActorId();
row[1] = ac.get(i).getfName();
row[2] = ac.get(i).geteName();
row[3] = ac.get(i).getAge();
row[4] = ac.get(i).getNoOfCredits();
row[5] = ac.get(i).getCountry();
mdl.addRow(row);
}
} catch (Exception ex) {
Logger.getLogger(MF.class.getName()).log(Level.SEVERE,null,ex);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)