Plusieurs API prennent en charge les requêtes paginées génériques. Ces requêtes offrent un mécanisme très puissant pour personnaliser les requêtes utilisateur, avec des résultats paginés (c'est-à-dire avec curseur). Plusieurs limites par défaut sont prédéfinies par le portail brainCloud, comme le nombre maximal d'enregistrements renvoyés pour la lecture d'entités paginées utilisateur.
Cela dit, même si le paramètre "rowsPerPage" que vous avez saisi est supérieur à la valeur prédéfinie par défaut, vous ne pouvez obtenir que le nombre maximal d'enregistrements en retour. (Par exemple, la limite par défaut est fixée à 100 comme nombre maximal d'enregistrements de recherche d'entité utilisateur pour l'API User Entity Getpage(). En supposant qu'il y ait plus de 200 enregistrements répondant à vos critères de recherche, même si vous définissez la valeur « rowsPerPage » à 150, vous ne pouvez obtenir que 100 entités en retour pour cet appel d'API. Vous devez alors appeler GetEntityPageOffset() pour obtenir les enregistrements restants (voir l'exemple ci-dessous).
Entité->Getpage() , le "rowsPerPage" est défini sur 150:
{
"context": {
"pagination": {
"rowsPerPage": 150,
"pageNumber": 1
},
"searchCriteria": {
"entityId": {"$regex": ".*ea.*"}
},
"sortCriteria": {
"createdAt": 1,
"updatedAt": -1
}
}
}
retourner seulement 100 articles avec un compte de 200:
"results": {
"count": 200,
"page": 1,
"items": [
{
"playerId": "3b284d94-cbdf-43a7-9239-34d45aa27720",
"gameId": "12832",
"entityId": "243ea99c-ad9d-4b70-b546-06bbd886b8f7",
"entityType": "address",
"version": 3,
"data": {
"difficulty": "normal1",
"addeddata": "value"
},
"acl": {
"other": 0
},
"createdAt": 1582582946144,
"updatedAt": 1585954397461
},
...
Le tableau suivant répertorie certaines limites prédéfinies par défaut pour les API de lecture paginées couramment utilisées.