OpenAPI DevTools è un'estensione del browser Google Chrome che genera specifiche OpenAPI in tempo reale a partire da richieste di rete. Una volta installato, il plugin aggiunge una nuova scheda chiamata OpenAPI
al Chrome DevTools, la raccolta di strumenti per gli sviluppatori offerta dall'applicazione di Mountain View. Quando il tool è aperto esso si occupa di convertire automaticamente le richieste di network in specifiche. Senza richiedere alcun intervento da parte dell'utilizzatore.
Installare OpenAPI DevTools
L'installazione di OpenAPI DevTools in Chrome prevede innanzitutto di scaricare il pacchetto compresso in formato Zip disponibile su GitHub, nella pagina del repository ufficiale del progetto. Fatto questo si deve aprire il browser e digitare:
chrome://extensions
nella barra degli URL. Se non lo si è fatto in precedenza è poi necessario abilitare la "Modalità sviluppatore" tramite l'apposito pulsante a scorrimento. Il passaggio seguente prevede di cliccare sull'opzione "Carica estensione non pacchettizzata". Si aprirà così una finestra da cui selezionare la directory dist
presente nell'archivio Zip. L'operazione si concluderà aprendo una nuova tab e selezionando "OpenAPI" tra i developer tool.
Funzionalità di OpenAPI DevTools
L'estensione è in grado di generare una specifica OpenAPI 3.1 da qualsiasi sito Web o applicazione semplicemente utilizzandoli. È supportato il merge automatico delle intestazione delle nuove richieste e delle risposte così come dei parametri delle query. Cliccando su un parametro di path verrà effettuato il merge automatico delle richieste che presentano le medesime caratteristiche. Le specifiche generate possono essere scaricate con un click.
OpenAPI DevTools è un progetto realizzato in TypeScript con qualche intervento minimo basato su JavaScript. I processi di merging delle richieste sono irreversibili ma è possibile rimuovere quelli già effettuati per ricominciare da zero.
Rilasciato sotto licenza Open Source (MIT License), OpenAPI DevTools è un progetto ancora in fase di sviluppo ed è possibile contribuire al suo miglioramento se si dispone di conoscenze avanzate sull'interscambio di dati tramite JSON (JavaScript Object Notation).