当前位置: 首页 > 知识库问答 >
问题:

response.Entity().Build不返回所有结果

羊舌兴文
2023-03-14

我从sql检索数据并存储在列表中。然后我将它转换为GenericEntity并尝试使用response.Entity().build()返回它;但它只返回第一个项目。

我确认清单上包含了所有的项目。所以问题应该是列表到实体的转换和/或响应的返回。我尝试循环响应部分,但它没有工作。

List List=new arraylist<>();字符串stmt=“”;PreparedStatement PS;Connection 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个答案

郎子平
2023-03-14

显示响应类代码可能更清晰..

 类似资料:
  • 我正在创建,比如说,15个Callable任务,并提交它们: 然后我收集15个MyResult对象: 问题是:我没有从get()方法获得所有15个MyResult对象,而是有时获得不到15个对象。有时12有时10有时甚至更少,有时全部15。 我的印象是,方法是一个阻塞调用,将等待所有15个线程返回各自的结果,但看起来我错过了其中的一些线程并继续前进。我做错了什么?我是否未正确收集结果/等待结果?当

  • 我有三个索引,它们都共享一个特定的键值对。当我用api进行全面搜索时”http://localhost:9200/_search“使用请求正文 它只返回其中两个索引的结果。我尝试使用相同的请求正文,将url更改为仅在丢失的索引中搜索”http://localhost:9200/index_name/_search“这很管用。我有什么遗漏吗? 插入所有三个索引的代码遵循相同的过程,我使用elasti

  • 问题内容: 我在尝试为我的应用程序实现一些计数器时遇到了这种奇怪的行为。基本上,我做了一个这样的计数器表: 然后,我也想计算一些特定类型的消息,因此在Go应用程序中,我更改了表以添加以前没有的列。 我的应用程序正在增长,并且我开始有30列以上(不应超过50列),并且当我想检索所有这些计数器时,结果中缺少一些列。 这给我返回了30列超过34列的信息。虽然,当我在CQLSH上执行请求时: 我得到适当的

  • 我有一个C#代码,使用Elastic搜索类型,它将匹配两个字段。我用的是NEST软件包。 问题是,无论我传入什么文本,它都会返回所有结果。我错过了什么?

  • 问题内容: 我在MySQL中有以下查询: 该表有27行,但查询仅返回1行。基于 这个问题, 我认为可能是由于WHERE子句。该表具有字段id,属性,字段,值,其中是第三个表的外键(我不需要从中获取数据)。 有没有一种方法可以从第一个表中选择所有行,包括表#2中字段为23的值(如果没有字段23,则为NULL)? 问题答案: 当然。将WHERE条件移动到JOIN:

  • 我做了一个不和谐的机器人,想添加<代码>!我添加成员部分,但它返回1,但我的服务器有2个人成员和4机器人(所有我的)为什么?这是代码: