1

私は私を怒らせる大学のプロジェクトに取り組んでいます。jersey を使用して Web サービスを開発する必要がありますが、すべてのリクエストで次の空の JSON だけが送信されます。

[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]  

データベース クエリはテストであり、コンテンツを配信します。私はそれが何であるかわかりません。

ジャワ:

@Path("/getFachbereiche")
public class GetFachbereiche {
    @GET
    @Produces("application/json")
    public Fachbereich[] getFachbereiche() {
        List<Fachbereich>fList = new ArrayList<Fachbereich>();
        Connection conn = MySQLConnection.getInstance();
        if (conn != null) {
            try {
                // Anfrage-Statement erzeugen.
                Statement query;
                query = conn.createStatement();

                // Ergebnistabelle erzeugen und abholen.
                String sql = "SELECT * FROM Fachbereich";
                ResultSet result = query.executeQuery(sql);

                //Ergebniss zurückliefern
                while (result.next()) {
                    fList.add(new Fachbereich(result.getInt(1), result.getString(2)));
                }
            } catch(SQLException e) {
                e.printStackTrace();
            }
        }
        return fList.toArray(new Fachbereich[fList.size()]);
    }
}
4

1 に答える 1

5

Fachbereichからの属性はプライベートであり、デフォルトでは、プライベート属性はシリアル化されません。2つの解決策があります:

  • シリアル化されるように、各属性にXmlElementアノテーションを配置します

  • または、属性ごとにパブリックゲッターを定義します。

于 2013-01-10T20:53:04.870 に答える