Con 4D 20 R5, liberamos los singletons. Y con 4D 20 R6, ahora le permitimos llamar directamente a las funciones expuestas de sus singletons compartidos a través de llamadas REST. Del mismo modo, puede utilizar las funciones expuestas de sus singletons compartidos en eventos al diseñar sus páginas Qodly. Permítanme profundizar en estas nuevas funcionalidades.
Soporte HDI REST y Qodly para Singletons
Supongamos que desea crear un servicio REST que no esté vinculado a una clase de datos específica.
Es fácil.
En primer lugar, vamos a crear un singleton compartido con una función expuesta, la que desea llamar a través de REST:
//class mySingleton
shared singleton Class constructor()
exposed Function myFonction($value : Integer)
//code
A continuación, demos un vistazo al catálogo comprobando el JSON devuelto por myServer/rest/$catalog/$all. Veo que mi singleton acaba de aparecer con su función expuesta:
"singletons": [ { "name": "miSingleton" "methods": [ { "name": "myFonction", "allowedOnHTTPGET": false, "exposed": true } ] } ],
Ahora puedo hacer una llamada REST a myServer/rest/$singleton/mySingleton/myFonction para ejecutar directamente mi función expuesta.
Por supuesto, puede restringir las llamadas a funciones específicas o singletons configurando privilegios en el archivo roles.json.
En Qodly, es aún más fácil. Al configurar eventos, puede elegir sus funciones expuestas singletons compartidas como cualquier función expuesta de clase de datos:
Qodly Studio muestra mi singleton en el catálogo y me permite elegir sus funciones expuestas para eventos
Y de forma similar, puede configurar los derechos para ejecutar singletons y sus funciones expuestas a través de la pantalla de privilegios:
La página de roles y privilegios de Qodly Studio me permite configurar los derechos de acceso de mi singleton
Si quiere un ejemplo sencillo de lo que puede realizar con singletons, loe animo a que consulte el IDH sobre singletons.
Esperamos que estas dos funciones le faciliten el uso de los singletons.
Si tiene comentarios u observaciones, ¡no dude en hacerlos llegar a nuestro foro!