Java 使用google云平台和Jersey创建RESTful api

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

我目前正在尝试使用Jersey和google云平台构建一个RESTful api

我已经部署了应用程序,通过这个链接我可以很好地访问它

{application id}.appspot.com/api/staff

但是,每当我尝试访问存储在那里的sql数据库时,我都会遇到问题

我可以使用sequel pro fine访问数据库,但每当我试图编写一个解决方案来访问它时,就会出现各种错误,包括:

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,即与数据库完全无关