Supporto di REST e Qodly per i singleton

Tradotto automaticamente da Deepl

Con 4D 20 R5 abbiamo rilasciato i singleton. Con 4D 20 R6, ora è possibile chiamare direttamente le funzioni esposte dei singleton condivisi tramite chiamate REST. Allo stesso modo, è possibile utilizzare le funzioni esposte dei singleton condivisi negli eventi quando si progettano le pagine Qodly. Vediamo di approfondire queste nuove funzionalità.

HDI REST e supporto di Qodly per i singleton

Supponiamo di voler creare un servizio REST che non sia legato a una specifica classe di dati.

Facile!

Innanzitutto, creiamo un singleton condiviso con una funzione esposta, quella che vogliamo chiamare tramite REST:

//class mySingleton

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

Quindi, diamo un’occhiata al catalogo controllando il JSON restituito da myServer/rest/$catalog/$all. Vedo che il mio singleton è appena apparso con la sua funzione esposta:

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

Ora posso fare una chiamata REST a myServer/rest/$singleton/mySingleton/myFonction per eseguire direttamente la mia funzione esposta.
Naturalmente, è possibile limitare le chiamate a funzioni o singleton specifici, configurando i privilegi nel file roles.json.

All’interno di Qodly, è ancora più facile. Quando si configurano gli eventi, si possono scegliere le funzioni esposte dei singleton condivisi come qualsiasi funzione esposta di una classe di dati:

Qodly Studio mostra il mio singleton all’interno del catalogo e mi permette di scegliere le sue funzioni esposte per gli eventi.

Allo stesso modo, è possibile configurare i diritti di esecuzione dei singleton e delle loro funzioni esposte attraverso la schermata dei privilegi:

blank

La pagina dei ruoli e dei privilegi di Qodly Studio mi permette di configurare i diritti di accesso del mio singleton

Se volete un esempio facile da usare di ciò che potete eseguire con i singleton, vi invito a consultare l’HDI sui singleton.

Ci auguriamo che queste due funzioni facilitino l’uso dei singleton.

Se avete commenti o osservazioni, non esitate a farli nel nostro forum!

Nicolas Brachfogel
- Proprietario del prodotto e sviluppatore senior - Nicolas Brachfogel è entrato in 4D nel 2017 come Senior Developer (4D Server e networking). In qualità di Product Owner per gestire il rilascio di Apple Silicon, si occupa di scrivere le storie degli utenti e di tradurle in specifiche funzionali, nonché di assicurarsi che le implementazioni delle funzionalità soddisfino le esigenze dei clienti. Diplomato all'Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas ha iniziato la sua carriera come sviluppatore di software nel 2001. Dopo diversi anni di codifica in Java e C++, si è specializzato nello sviluppo di client-server per aziende di videogiochi. Come sviluppatore/architetto di server, ha lavorato con successo alle architetture server di molti giochi (Dofus Arena, Drakerz, Trivial Pursuit Go!).