Paramètres de recherche et de pagination
Les smartflows permettent de traiter la donnée, la transformer et la récupérer pour pouvoir l'utiliser:
- Dans les workflows ou smartflows
- Dans les widgets de l’application créé avec le Designer.
- Directement en tant que API
Sauf en cas d'export de données, quand on créé un flux de données à partir d'un base de donnée ou à travers un API, il est déconseillé de récupérer toute les données dans une seule requête mais plutôt de segmenter les données en petit paquets.
Cela permet de limiter la taille de données transférée par requête et améliore nettement les performance de l'application ou l'API qu'on est en train de modéliser.
Il faut malgré tout laisser la possibilité de récupérer toutes les données à travers un système de pagination et recherche.
Sur Vision, cette notion est importante quand on conçoit un smartflow qui récupère de la donnée (directement depuis la base Vision, en interrogeant une API externe ou en se connectant à une Base de données externe).
Dans cette partie, nous allons voir ensemble comment utiliser la pagination dans un smartflow dans Vision.
Dans les exemples présentés ici, nous allons récupérer les données d'un modèle User:
Il faut implémenter la base de données avec quelques utilisateurs.
Créer une API avec recherche et pagination
Dans cette exemple, nous allons créer une route GET
avec Vision qui va nous permettre de récupérer les données avec les querystring
:
- search : pour filtrer les données avec une recherche textuelle
- page: paginer les données
- limit: pour limiter le nombre de données récupéré
Pour faire ça il faut tout d'abord créer une API en spécifiant les paramètres précédents dans l'inspecteur dans la section paramètre de requête :
Quand on déclare des paramètres de requêtes, ces derniers deviennent accessible en tant que variable dans le smartflow
On peut connecter ces paramètres sur le nœud recherche:
Une fois le smartflow publié, on peut appeler la route avec postman ou avec curl :
curl https://votre-url-vision/api/connectors/dad_jokes?search=&page=&limit=
Utiliser search-parameters
Dans l'usage interne, quand le smartflow sera appelé via un workflow (Liste ou Formulaire) ou encore dans une application (Widget Liste ou Widget Tableau), il est préférable d'utiliser le paramètre search-parameters
pour simplifier l'utilisation.
En plus de contenir les paramètres de pagination et de recherche globale, il contient également les filtres et les tris par colonnes (injecté par le Widget Tableau).
Pour cela, désactiver la case à cocher publique du smartflow ajouter la variable search-parameters
(Paramètres de Recherche).
Brancher ensuite ce paramètre au nœud de recherche