Skip to content

XPOL555/api-oas-checker

 
 

Repository files navigation

Validatore per API conformi al Modello di Interoperabilità

Join the #api channel Get invited API on forum.italia.it

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.

Contenuto

  • 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.

Istruzioni

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

Compilazione

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.

Scrivere 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

About

A basic oas-checker based on spectral.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 49.1%
  • JavaScript 36.0%
  • Makefile 11.0%
  • CSS 3.1%
  • Dockerfile 0.8%