aws cognito get 用户中的分页

its*_*hal 5 java spring-boot amazon-cognito aws-userpools

我正在 AWS Cognito 中使用用户池来创建用户以及为我的 java spring-boot 应用程序的用户进行身份验证和授权,并且我已经编写了代码来从 Cognito 获取用户并且它工作正常,但我想以分页方式获取用户,并且Cognito 也提供了相同的功能,但问题是它不提供像每个 listuserrequest 那样的来回分页如果有更多用户,我将获得页面令牌,如果收到页面令牌 null 意味着它是最后一个用户块,但考虑有 10 个用户我的池中的用户,我在每次调用中设置了限制,2个用户,理想情况下它分成5页来解决我的问题是,如果我已经获取了第3页并再次想要或获取第2页的用户我怎样才能实现这一点,如果有人知道如何实现这一点,请帮忙

private List<UserDto> getAllUserPagination() {
        final ListUsersRequest listUsersRequest = new ListUsersRequest()
                .withUserPoolId(awsConfig.getPoolId())
                .withLimit(2);
        ListUsersResult listUsersResult = cognitoClient.listUsers(listUsersRequest);
        final List<UserDto> users = listUsersResult.getUsers().stream()
                .map(UserMapper::toUserModel)
                .collect(Collectors.toList());
        do {
            System.out.println(listUsersResult.getPaginationToken());
            listUsersRequest.setPaginationToken(listUsersResult.getPaginationToken());
            listUsersResult = cognitoClient.listUsers(listUsersRequest);
            users.addAll(listUsersResult.getUsers().stream()
                    .map(UserMapper::toUserModel)
                    .collect(Collectors.toList()));
            System.out.println(users.toString());
        } while ((Objects.nonNull(listUsersResult.getPaginationToken())));
        return users;
    } 
Run Code Online (Sandbox Code Playgroud)