4D fournit un puissant serveur REST qui permet un accès direct aux données stockées dans vos bases de données 4D. Cela permet, par exemple, de construire une API à utiliser avec une technologie frontale moderne(par exemple , Angular, React, etc.). Dans ce billet de blog, nous allons fournir une première introduction au serveur REST robuste de 4D. Vous verrez comment le configurer et tester les opérations de création, récupération, mise à jour et suppression (CRUD) à l’aide de l’outil de test d’API, Postman.
Configurer le serveur REST
REMARQUE: si vous savez déjà comment configurer un serveur REST et une base de données 4D, vous pouvez sauter les deux sections suivantes.
Pour utiliser le serveur REST de 4D, vous devrez d’abord le configurer (un seul clic pour être opérationnel). Il suffit de cocher l’option « Expose as REST server » dans la page « Web/REST resource » des paramètres de la base de données pour que les requêtes REST soient traitées :
Créer et configurer la base de données 4D
- Cette étape suppose que vous avez déjà créé une base de données et activé le serveur Rest. Allez dans votre structure et créez une nouvelle table [Tasks], avec deux attributs : Title (Alpha) et Complete (Boolean). Par défaut, toutes les tables sont exposées en REST :
Important : les noms des tables et des champs doivent être conformes à JSON (pas de caractères diacritiques ni d’espaces).
- Maintenant, allez-y et créez des formulaires d’entrée et de sortie. Saisissez quelques tâches dans le tableau Tasks.
- Dans le menu Exécuter, sélectionnez Démarrer le serveur Web (s’il n’est pas déjà lancé), puis sélectionnez Tester le serveur Web.
- Félicitations ! Vous pouvez maintenant lire et modifier des données dans 4D en utilisant uniquement des requêtes REST.
Comment le savez-vous ? Facile, ouvrez un navigateur web, et après l’adresse ADDRESS:PORT, insérez« /rest« . (Toutes les requêtes URL REST de 4D commencent par /rest).
Par exemple, si vous souhaitez obtenir toutes les entités de la classe de données [Tasks], vous pouvez procéder comme suit :
Test de l’API avec Postman
Ce qui est étonnant avec le serveur REST de 4D, c’est que l’API fournit les opérations CRUD(et plus encore !)… prêtes à l’emploi ! Pas une seule ligne de code n’est nécessaire pour créer, lire, mettre à jour ou supprimer une entité. Tout est mis en place pour vous. Comme nous le savons tous, CRUD est le groupe le plus important d’opérations de base de données, car ce sont les principales fonctions dont les utilisateurs ont besoin pour créer et gérer des données.
Pour tester cette API étonnante, nous allons utiliser Postman (un excellent outil pour tester les API RESTful). Postman offre une interface utilisateur élégante pour effectuer des requêtes HTML, telles que GET, POST, PUT/UPDATE, DELETE, et diverses autres méthodes de requête.
Remarque : l’utilisation de Postman est simple, mais consultez cette vidéo si vous avez besoin d’aide pour démarrer.
Obtenir la liste des tâches
Une fois Postman téléchargé, lancez-le, et nous allons créer nos différentes requêtes. Nous allons commencer par la requête la plus évidente : Récupérer la liste des tâches (de notre table [Tasks]). Comme indiqué précédemment, pour obtenir toutes les entités de la classe de données [Tasks], assurez-vous d’insérer /rest/NameOfTheDataclass après l’adresse ADDRESS:PORT.
- Choisissez la méthode GET dans la liste des méthodes.
- Copiez l’URL
- Cliquez sur envoyer
- Voilà :
Comme vous pouvez le constater, pas une seule ligne de code n’est nécessaire pour récupérer la liste des tâches !
Créer une nouvelle tâche
Nous pouvons également ajouter une nouvelle tâche à notre classe de données … également sans code. L’API est déjà paramétrée pour vous !
Pour créer une nouvelle entité, cette URL va lancer une nouvelle requête de poste : ADDRESS:PORT/rest/NameOfTheDataclass/?$method=update. Pour ce faire, nous devons envoyer une requête JSON à l’application. Si vous vérifiez les résultats de la requête GET, vous aurez une idée des clés nécessaires à la création d’une nouvelle tâche. En suivant cette logique, nous n’aurons besoin que du titre et des champs complets ; 4D s’occupe du reste (clé, horodatage, tampon et ID).
- Changez la méthode en POST
- Insérez l’URL
- Cliquez sur envoyer
- Ajoutez votre nouvelle tâche
- Assurez-vous que le succès = true !
Revenez au premier onglet (méthode GET), cliquez sur Envoyer, et vérifiez que la tâche a été ajoutée. Vous pouvez également aller dans votre formulaire de sortie 4D pour voir si la nouvelle tâche a été ajoutée !
Mise à jour d’une tâche
Pour mettre à jour une entité, nous allons utiliser la même méthode que celle utilisée lors de la création de l’entité. $method=update vous permet de mettre à jour une ou plusieurs entités dans un seul POST. Pour ce faire, vous devez passer les paramètres __KEY et __STAMP dans l’objet ainsi que les attributs modifiés.
Dans notre exemple, nous avons fini de lire l’une des œuvres les plus durables d’Hemingway : Le vieil homme et la mer. Par conséquent, nous devons changer le statut complet de la tâche en true. Facile :
Supprimer une tâche
La suppression d’une entité est également très simple. Dans notre exemple, nous voulons supprimer la tâche avec ID = 3 (appelée « test »). Aucun problème ! Appelez la méthode de suppression et spécifiez-la en utilisant son ID : dataclass(ID)?$method=delete.
Retournez dans votre base de données 4D et vérifiez que l’entité a été supprimée ! Elle a disparu, n’est-ce pas ?
La suite
Comme vous pouvez le constater, le serveur REST de 4D est puissant. Il fournit une API riche au-delà de ce que nous venons de démontrer. Il est possible de faire beaucoup plus en peu de temps. Consultez la documentation détaillée. Je partagerai une astuce sur l’authentification dans les prochains articles de blog, puis une application frontale complète écrite en ReactJS avec REST pour l’accès web à la base de données 4D.