Salta ai contenuti

Che cos’è Restorm?

Restorm è un’applicazione desktop (Windows, macOS, Linux) che riunisce in un unico progetto tutto ciò che si fa attorno a un’API: chiamarla, simularla, concatenare chiamate, versionare il tutto ed eseguirlo in CI.

Là dove la maggior parte dei client di API si ferma a HTTP e GraphQL, Restorm tratta quindici protocolli come cittadini di prima classe, ciascuno con il proprio editor dedicato e la propria visualizzazione della risposta:

HTTP · GraphQL · gRPC · SOAP · WebSocket · Socket.IO · MQTT · SSE · STOMP · OData · JSON-RPC (singolo e in batch) · tRPC · Redis · AMQP / RabbitMQ · Kafka.

In concreto: lo stesso progetto può contenere la chiamata REST che crea un ordine, la sottoscrizione MQTT che riceve la conferma e la richiesta Kafka che verifica che l’evento sia stato effettivamente pubblicato. Si veda il catalogo dei protocolli.

L’albero laterale di un progetto che mescola, in una stessa cartella, richieste GraphQL, WebSocket, SSE, Redis, Kafka, AMQP, STOMP, gRPC, SOAP, OData, tRPC, JSON-RPC, MQTT e Socket.IO, accanto alle cartelle di operazioni HTTP

Restorm sa anche ospitare un servizio invece di chiamarlo. Si crea un server — è un elemento a tutti gli effetti dell’albero, aggiunto da Aggiungi ▸ Server HTTP (oppure GraphQL, gRPC, SOAP, WebSocket, Socket.IO, MQTT, OData) — gli si assegna una rotta e una risposta, e Restorm si mette in ascolto su localhost. Nessun servizio di terze parti, nessun passaggio in rete e le {{variables}} vengono risolte nel momento in cui la risposta viene servita.

Si veda Modalità server.

Uno scenario è un grafo: riquadri (chiamare una richiesta, verificare una condizione, iterare, trasformare un dato, eseguire codice) collegati da collegamenti che trasportano i valori. È ciò che sostituisce gli script pre/post-richiesta degli altri strumenti, restando leggibile.

Sono disponibili novanta tipi di riquadro, dal semplice If alla connessione Kafka, passando per la validazione di uno schema JSON. Si vedano gli scenari.

Uno scenario con un nodo di richiesta HTTP, un’asserzione sul codice di stato, un’estrazione e un nodo If

Un progetto Restorm è un file .restorm (YAML per impostazione predefinita) oppure un albero di cartelle sul proprio disco. Nulla viene archiviato presso di noi. La serializzazione è deterministica — ordine canonico delle chiavi, identificatori derivati in modo stabile — così che un salvataggio senza modifiche non produca alcun diff e una revisione del codice su un progetto di API sia realmente utilizzabile.

Restorm integra inoltre un client git che comprende il formato: un messaggio di commit generato per entità e una risoluzione dei conflitti che mostra le due versioni nel loro vero editor.

Due superfici di automazione:

  • la riga di comando: restorm --open projet.restorm --run "Tests de fumée" --headless esegue uno scenario senza finestra, scrive il log sullo standard output e restituisce un codice di uscita utilizzabile in CI. Si veda Esecuzione headless & CI;
  • il server MCP integrato: un agente IA (Claude Code, Cursor…) può leggere l’albero del progetto, creare richieste, eseguirle e pilotare l’interfaccia. Si veda Pilotare Restorm tramite MCP.

Restorm integra un firewall applicativo: ogni chiamata in uscita che non provenga da un URL presente nel progetto viene bloccata per impostazione predefinita e viene richiesta un’autorizzazione esplicita. Una dipendenza che telefonasse a casa non lo farebbe senza che l’utente lo sappia. Si veda Firewall.

Restorm è utilizzabile gratuitamente, senza limiti di richieste né di progetti, e tutti i protocolli di esecuzione sono inclusi nell’edizione Community. Le edizioni Pro ed Enterprise sbloccano funzionalità (esecuzione headless in CI, git integrato, strumenti MCP avanzati, SSO…) — mai delle quote. Si veda Piani e funzionalità.