Questo repository contiene un validatore in-browser che verifica alcune delle regole per le API REST indicate nel Modello di Interoperabilità.
I progetti associati sono indicati nell' API Starter Kit
L'applicazione on-line pronta all'uso è disponibile
qui.
Rispetto ad altri validatori altrettanto buoni
- eg. Zally - Spectral può essere eseguito direttamente sul client (browser) e non richiede necessariamente l'utilizzo di un database.
- Un progetto nodejs che usa webpack per creare una single-page application
- Una directory rules/ con le regole applicate, che vengono poi aggregate nel file spectral.yml.
Il modo più semplice per eseguire l'applicazione è tramite docker-compose:
$ git clone [email protected]:teamdigitale/api-oas-validator.git
$ cd api-oas-validator
$ docker-compose up -d run
$ xdg-open localhost:8000
In alternativa sarà sufficiente eseguire:
$ npm run build
$ npm start
Se volete controllare la vostra API usando la CLI
di Spectral, vi basta lanciare dalla directory api-oas-validator
api-oas-validator $ spectral lint -r spectral.yml $OAS_URL_OR_FILE
Questa applicazione usa Browserify, che pacchettizza ricorsivamente tutte le dipendenze nodejs in un javascript eseguibile dal browser.
L'applicazione è in index.js ed utilizza Spectral, un software opensource che valida un file OpenAPI in funzione di una serie di regole.
Spectral itera le specifiche OAS usando le espressioni jsonpath indicate nelle regole ed esegue le callback indicate sulle righe corrispondenti.
Vedete qui spectral.yml per degli esempi di regole.
Sul sito http://jsonpath.com/ si possono testare le regole online.
Jsonpath supporta le back-references, si veda json-path/JsonPath#287 (comment)
Per ulteriori informazioni sulle regole di spectra si veda https://stoplight.io/p/docs/gh/stoplightio/spectral/docs/getting-started/rulesets.md