我正在使用 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;
}