Gestion des singletons en REST et Qodly

Avec 4D 20 R5, nous avons lancé les singletons. Avec 4D 20 R6, nous vous permettons désormais d’appeler directement les fonctions exposées de vos singletons partagés par le biais d’appels REST. De même, vous pouvez utiliser les fonctions exposées de vos singletons partagés dans des événements lors de la conception de vos pages Qodly. Permettez-moi d’approfondir ces nouvelles fonctionnalités.

Prise en charge des singletons par HDI REST et Qodly

Supposons que vous souhaitiez créer un service REST qui ne soit pas lié à une dataclass spécifique.

C’est facile !

Tout d’abord, créons un singleton partagé avec une fonction exposée, celle que vous voulez appeler via REST :

//class mySingleton

shared singleton Class constructor()
	
exposed Function myFonction($value : Integer)
	//code

Ensuite, regardons le catalogue en vérifiant le JSON retourné par myServer/rest/$catalog/$all. On voit que le singleton vient d’apparaître avec sa fonction exposée :

"singletons" : [
    {
      "name" : "mySingleton",
      "methods" : [
        {
          "name" : "myFonction",
          "allowedOnHTTPGET" : false,
          "exposed" : true
        }
      ]
    }
  ],

Je peux maintenant faire un appel REST à myServer/rest/$singleton/mySingleton/myFonction pour exécuter directement ma fonction exposée.
Bien sûr, vous pouvez restreindre les appels à des fonctions spécifiques ou à des singletons en configurant les privilèges dans le fichier roles.json.

Dans Qodly, c’est encore plus facile. Lors de la configuration des événements, vous pouvez choisir les fonctions exposées de vos singletons partagés comme n’importe quelle fonction exposée d’une classe de données :

Qodly Studio affiche mon singleton dans le catalogue et me permet de choisir ses fonctions exposées pour les événements

De même, vous pouvez configurer les droits d’exécution des singletons et de leurs fonctions exposées via l’écran des privilèges :

blank

La page des rôles et privilèges de Qodly Studio me permet de configurer les droits d’accès de mon singleton.

Si vous voulez un exemple facile à utiliser de ce que vous pouvez faire avec les singletons, je vous encourage à consulter le HDI sur les singletons.

Nous espérons que ces deux fonctionnalités faciliteront votre utilisation des singletons.

Si vous avez des commentaires ou des remarques, n’hésitez pas à les apporter sur notre forum!

Nicolas Brachfogel
- Product Owner & Senior Developer - Nicolas Brachfogel a rejoint 4D en 2017 en tant que développeur senior (4D Server et networking) et en tant que Product Owner pour gérer la mise en production d'Apple Silicon. Il est chargé de rédiger les user stories et de les traduire en spécifications fonctionnelles, ainsi que de s'assurer que les implémentations des fonctionnalités répondent aux besoins des clients. Diplômé de l'Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas a commencé sa carrière en tant que développeur de logiciels en 2001. Après plusieurs années de programmation en Java et C++, il s'est spécialisé dans le développement client-serveur pour des sociétés de jeux vidéo. En tant que développeur/architecte serveur, il a travaillé avec succès sur les architectures serveur de nombreux jeux (Dofus Arena, Drakerz, Trivial Pursuit Go !).