我目前正在尝试使用Jersey和google云平台构建RESTful api。
我已经部署了应用程序,并且按照此链接我可以正常访问
http://2-dot- {应用-ID} .appspot.com访问/ API /人员
然而,每当我尝试访问存储在那里的sql数据库时,我都会遇到问题
我可以使用sequel pro来访问数据库,但每当我尝试编写解决方案来访问它时,我会遇到各种错误,其中包括:
org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor aroundWriteTo: MessageBodyWriter not found for media type=application/json, type=class java.util.ArrayList, genericType=java.util.ArrayList<com.staff.webservice.models.StaffInfo>.
这是我到目前为止访问数据库的代码,因为我已经删除了以前的代码而感到沮丧,现在无法恢复它
import java.sql.DriverManager;
import java.util.ArrayList;
import java.io.*;
import java.sql.*;
import com.google.appengine.api.utils.SystemProperty;
public class StaffDAO implements Staff{
public ArrayList<StaffInfo> getAllStaff() {
ArrayList<StaffInfo> staffArray = new ArrayList<>();
Connection connection = null;
try {
// Load the JDBC driver
String driverName = "com.mysql.jdbc.Driver"; // MySQL MM JDBC driver
Class.forName(driverName);
// Create a connection to the database
String url = "jdbc:google:mysql://{application-id}:staff-database?user={username}";
String username = "{username}";
String password = "{password}";
String databaseName = "staff-database";
String driver = "com.mysql.jdbc.GoogleDriver";
connection = DriverManager.getConnection(url, username, password);
System.out.println(connection.toString());
} catch (ClassNotFoundException e) {
// Could not find the database driver
} catch (SQLException e) {
// Could not connect to the database
}
return staffArray;
}
}
如何连接数据库并查询数据库以检索数据并将数据发布到数据库。
答案 0 :(得分:0)
我看起来错误与方法的结果类型无关,而不是可序列化为JSON,即。根本与数据库无关。