Spring中List到Page的转换

新手上路,请多包涵

我正在尝试在春季将列表转换为页面。我已经使用

新的 PageImpl(用户,可分页,users.size());

但现在我对排序和分页本身有问题。当我尝试传递大小和页面时,分页不起作用。

这是我正在使用的代码。

我的控制器

    public ResponseEntity<User> getUsersByProgramId(
        @RequestParam(name = "programId", required = true) Integer programId Pageable pageable) {

    List<User> users = userService.findAllByProgramId(programId);
    Page<User> pages = new PageImpl<User>(users, pageable, users.size());

    return new ResponseEntity<>(pages, HttpStatus.OK);
}

这是我的用户回购

public interface UserRepo extends JpaRepository<User, Integer>{

public List<User> findAllByProgramId(Integer programId);

这是我的服务

    public List<User> findAllByProgramId(Integer programId);

原文由 user3127109 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
1 个回答

我有同样的问题。我使用了子列表:

 final int start = (int)pageable.getOffset();
final int end = Math.min((start + pageable.getPageSize()), users.size());
final Page<User> page = new PageImpl<>(users.subList(start, end), pageable, users.size());

原文由 shilaimuslm 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题