Pourquoi avons-nous besoin de GET blocks, et comment fonctionnent-ils ?
Lorsque vous développez un frontend, vous aurez inévitablement besoin d'exécuter différentes BPs sur le backend. Afin d'exécuter une BP, vous devez appeler son endpoint. Pour ce faire, AppMaster crée un bloc Server Request pour chaque endpoint. Ces blocs ont les mêmes champs d'entrée et de sortie que l'endpoint associé et servent à le démarrer.
Les blocsGET , selon les principes de l'API REST, doivent récupérer des données. Le plus souvent, les blocs GET récupèrent des données du modèle dans la base de données (toutes, ou selon certains critères).
Comme tous les blocs Server Request, chaque bloc GET est lié à son propre endpoint. L'Url du endpoint est affichée dans le nom des blocs.
Gardez à l'esprit que AppMaster génère automatiquement les endpoints de base. Mais vous pouvez aussi créer vos BPs et leurs endpoints, et par conséquent vos blocs de requête de serveur.
Les champs d'entrée et de sortie des blocs GET block
Entrée
- Endpoint ID - détermine à quel endpoint le bloc doit accéder. Ce champ est défini automatiquement ;
- _offset - permet de spécifier à partir de quel enregistrement le bloc recevra des informations ; format entier ;
- _limit - le nombre d'enregistrements que le bloc charge. La valeur par défaut est 25, le maximum à la fois est 500 ; format entier ;
- _sort_order - deux valeurs conviennent pour ce champ : asc - ordre de tri direct et desc - ordre inverse ; format string ;
- _sort_by - définit par quel champ du modèle de données la liste sera triée ; format string ;
- Ids - liste d'identifiants d'enregistrements. Permet d'obtenir des enregistrements par un identifiant spécifique ; format array integer ;
- _search - recherche d'une valeur donnée dans le modèle de données ; format string ;
- _search_exact - active/désactive la recherche par correspondance exacte ; format booléen ;
- _ search_in - recherche par champs spécifiques ; format tableau de chaînes.
Regardons de plus près les champs associés à la recherche.
_search - recherche des correspondances dans l'ensemble du modèle de données et les trouve quel que soit le champ dans lequel se trouve la valeur.
Par exemple, définissons le champ _search comme étant Jean. Si dans le modèle de données, pour un enregistrement, la valeur du champ name est John, et pour l'autre, la valeur du champ email est [email protected], alors la recherche trouvera ces deux enregistrements.
_search_exact - L'activation de ce champ signifie que les résultats incluront les enregistrements qui correspondent entièrement à la requête.
Demande | _search_exact | Résultat |
John | False | John, Johny, [email protected] |
John | True | John |
_search_in - ici, vous pouvez définir les champs dans lesquels la recherche doit être effectuée. Par exemple, si nous voulons effectuer une recherche uniquement sur les noms et ne pas prendre en compte les cas où le nom est une partie de l'e-mail, nous pouvons utiliser _search_in et effectuer une recherche uniquement sur le champ du nom.
Champs du modèle de données de recherche
Ces champs sont utilisés pour effectuer une recherche par modèle de données. La principale différence entre eux et les champs de recherche est qu'ils peuvent prendre différentes valeurs, contrairement à la recherche, qui n'accepte que le format chaîne.
Sortie
- _success - résultats de la recherche ; format booléen ;
- _httpcode - request response code ; integer format ;
- _error - error text ; string format ;
- Data - enregistrements reçus ; array model format ;
- Count - le nombre d'entrées reçues ; format integer.
Le champ _with champ
Il apparaît dans les blocs où la requête va vers des modèles de données connexes. Il vous permet d'obtenir des données du modèle de données auquel la requête est adressée et des modèles de données qui lui sont associés.
Examinons le champ _with à l'aide d'un exemple d'application qui stocke une liste de livres et leurs catégories.
Créez deux modèles de données : book et category. Dans le modèle book nous ajoutons le champ book_name et dans le modèle category nous ajoutons le champ category_name champ.
Créez une relation entre eux. Traçons-la de la catégorie au livre et définissons le type de relation à has_many puisqu'une catégorie peut faire référence à différents livres.
Sous l'onglet application web, configurez le chargement des données dans les tables livre et catégorie et ajoutez des enregistrements dans ces tables. Les données liées ne sont pas actuellement affichées dans les tables. Pour résoudre ce problème, le champ _with est nécessaire.
Configurez ce champ dans le champ Get block pour chaque table.
Ouvrons maintenant notre application et vérifions que la requête s'exécute et que les bonnes données apparaissent dans la table.