Response.entity (). Build не возвращает все результаты - PullRequest
0 голосов
/ 08 июля 2019

Я получил данные из sql и сохранил в списке. Затем я преобразовал его в GenericEntity и попытался вернуть его с помощью response.entity (). Build (); Но он возвращает только первый элемент.

Я подтвердил, что список содержит все элементы. Таким образом, проблема должна заключаться в преобразовании списка в сущность и / или возврате ответа. Я пытался зациклить часть ответа, но это не сработало.

List list = new ArrayList <> (); String stmt = ""; PreparedStatement ps; Соединение conn = DriverManager.getConnection ("jdbc: mysql: // localhost: 3306 / islandfurniture-it07? ZeroDateTimeBehavior = convertToNull & user = root & password = 12345");

        if (countryID == null) {
            stmt = "SELECT i.ID as id, i.NAME as name, f.IMAGEURL as imageURL, i.SKU as sku, i.DESCRIPTION as description, i.TYPE as type, i._LENGTH as length, i.WIDTH as width, i.HEIGHT as height, i.CATEGORY as category FROM itementity i, furnitureentity f where i.ID=f.ID and i.ISDELETED=FALSE and i.CATEGORY=?;";
            ps = conn.prepareStatement(stmt);
            ps.setString(1, category);
        } else {
            stmt = "SELECT i.ID as id, i.NAME as name, f.IMAGEURL as imageURL, i.SKU as sku, i.DESCRIPTION as description, i.TYPE as type, i._LENGTH as length, i.WIDTH as width, i.HEIGHT as height, i.CATEGORY as category, ic.RETAILPRICE as price FROM itementity i, furnitureentity f, item_countryentity ic where i.ID=f.ID and i.ID=ic.ITEM_ID and i.ISDELETED=FALSE and ic.COUNTRY_ID=? and i.CATEGORY=?;";
            ps = conn.prepareStatement(stmt);
            ps.setLong(1, countryID);
            ps.setString(2, category);
        }
        ResultSet rs = ps.executeQuery();
        while (rs.next()) {
            Furniture f = new Furniture();
            f.setId(rs.getLong("id"));
            f.setName(rs.getString("name"));
            f.setImageUrl(rs.getString("imageURL"));
            f.setSKU(rs.getString("sku"));
            f.setDescription(rs.getString("description"));
            f.setType(rs.getString("type"));
            f.setWidth(rs.getInt("width"));
            f.setHeight(rs.getInt("height"));
            f.setLength(rs.getInt("length"));
            f.setCategory(rs.getString("category"));
            if (countryID != null) {
                f.setPrice(rs.getDouble("price"));
            }
            list.add(f);
        }

        GenericEntity<List<Furniture>> entity = new GenericEntity<List<Furniture>>(list) {
        };

        return Response
                .status(200)
                .header("Access-Control-Allow-Origin", "*")
                .header("Access-Control-Allow-Headers", "origin, content-type, accept, authorization")
                .header("Access-Control-Allow-Credentials", "true")
                .header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD")
                .header("Access-Control-Max-Age", "1209600")
                .entity(entity)
                .build();

Ожидаемые результаты: Показать все предметы мебели. Фактические результаты: Показать первый предмет мебели.

1 Ответ

0 голосов
/ 08 июля 2019

Показать код класса ответа может быть более понятным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...