Java 使用google云平台和Jersey创建RESTful api
我目前正在尝试使用Jersey和google云平台构建一个RESTful api 我已经部署了应用程序,通过这个链接我可以很好地访问它 {application id}.appspot.com/api/staff 但是,每当我尝试访问存储在那里的sql数据库时,我都会遇到问题 我可以使用sequel pro fine访问数据库,但每当我试图编写一个解决方案来访问它时,就会出现各种错误,包括:Java 使用google云平台和Jersey创建RESTful api,java,api,rest,jersey,jax-rs,Java,Api,Rest,Jersey,Jax Rs,我目前正在尝试使用Jersey和google云平台构建一个RESTful api 我已经部署了应用程序,通过这个链接我可以很好地访问它 {application id}.appspot.com/api/staff 但是,每当我尝试访问存储在那里的sql数据库时,我都会遇到问题 我可以使用sequel pro fine访问数据库,但每当我试图编写一个解决方案来访问它时,就会出现各种错误,包括: org.glassfish.jersey.message.internal.WriterIntercep
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>.
org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor aroundWriteTo:MessageBodyWriter未找到媒体类型=应用程序/json,类型=类java.util.ArrayList,genericType=java.util.ArrayList。
这是我迄今为止访问数据库的代码,因为我出于沮丧删除了以前的代码,现在无法恢复
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;
}
}
导入java.sql.DriverManager;
导入java.util.ArrayList;
导入java.io.*;
导入java.sql.*;
导入com.google.appengine.api.utils.SystemProperty;
公共类StaffDAO实现了Staff{
公共阵列列表getAllStaff(){
ArrayList staffArray=新的ArrayList();
连接=空;
试一试{
//加载JDBC驱动程序
String driverName=“com.mysql.jdbc.Driver”;//mysql MM jdbc驱动程序
类forName(driverName);
//创建到数据库的连接
String url=“jdbc:google:mysql://{application id}:staff数据库?user={username}”;
字符串username=“{username}”;
字符串password=“{password}”;
字符串databaseName=“员工数据库”;
stringdriver=“com.mysql.jdbc.GoogleDriver”;
connection=DriverManager.getConnection(url、用户名、密码);
System.out.println(connection.toString());
}catch(classnotfounde异常){
//找不到数据库驱动程序
}捕获(SQLE异常){
//无法连接到数据库
}
返回staffArray;
}
}
如何连接到数据库并查询它以检索数据并将数据发布到数据库。我似乎认为错误与方法的结果类型有关,该方法不可序列化为JSON,即与数据库完全无关