使用谷歌云平台和泽西岛创建RESTful API

时间:2016-01-13 11:27:34

标签: java api rest jersey jax-rs

我目前正在尝试使用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;
}
}

如何连接数据库并查询数据库以检索数据并将数据发布到数据库。

1 个答案:

答案 0 :(得分:0)

我看起来错误与方法的结果类型无关,而不是可序列化为JSON,即。根本与数据库无关。