Specifiche OpenAPI

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

La Specifica OpenAPI (conosciuta originariamente come la Specifica Swagger) è una specifica per file di interfaccia leggibili dalle macchine per descrivere, produrre, consumare e visualizzare servizi web RESTful.[1] Una serie di strumenti può generare codice, documentazione e test case dato un file di interfaccia.

Uso[modifica | modifica wikitesto]

Le applicazioni implementate basandosi su file di interfaccia OpenAPI possono automaticamente generare la documentazione di metodi, parametri e modelli. Questo aiuta a sincronizzare la documentazione, le librerie client e il codice sorgente.

Storia[modifica | modifica wikitesto]

Sia la specifica sia l'implementazione di un framework sono partite come iniziative da Wordnik. Swagger è stato sviluppato dall'uso di Wordnik durante lo sviluppo di Wordnik Developer e la sottostante API. Lo sviluppo di Swagger è partito ad inizio 2010.[2]

Nel novembre 2015 SmartBear, la società che ha sostenuto Swagger, ha annunciato che stava aiutando a creare una nuova organizzazione, sotto la sponsorizzazione della Linux Foundation, chiamata Open API Initiative. Una serie di società, incluse Google, IBM e Microsoft sono soci fondatori.[3][4] Swagger ha donato la specifica Swagger al nuovo gruppo. Anche RAML e API Blueprint sono in esame da parte del gruppo.[5][6]

Il 1 gennaio 2016 la specifica Swagger è stata rinominata la Specifica OpenAPI, ed è stata spostata in una nuova repository su GitHub.

Caratteristiche[modifica | modifica wikitesto]

La Specifica OpenAPI non richiede un linguaggio specifico. Inoltre è estensibile su nuove tecnologie e protocolli oltre l'HTTP.[2]

Con la specifica dichiarativa delle risorse, i clients possono comprendere e consumare servizi senza conoscere l'implementazione del server o accedere al codice del server.[2]

Il framework UI Swagger permette sia a sviluppatori sia a non-sviluppatori di interagire con la API in una sandbox UI che offre una chiara intuizione di come la API risponde ai parametri e alle opzioni. Swagger può utilizzare sia JSON sia YAML.[2]

Note[modifica | modifica wikitesto]

  1. ^ Linux Foundation wants to extend Swagger in connected buildings | Business Cloud News, su businesscloudnews.com. URL consultato il 22 aprile 2016.
  2. ^ a b c d swagger-api/swagger-spec, su GitHub. URL consultato il 1º dicembre 2015.
  3. ^ SmartBear, Linux Foundation launch Open API Initiative to Evolve Swagger, in ProgrammableWeb, 10 novembre 2015. URL consultato il 21 aprile 2016.
  4. ^ New Collaborative Project to Extend Swagger Specification for Building Connected Applications and Services, su www.linuxfoundation.org. URL consultato il 22 aprile 2016 (archiviato dall'url originale il 27 aprile 2016).
  5. ^ Yves de Montcheuil, In 2016, the need for an API meta-language will crystallize, su InfoWorld. URL consultato il 25 aprile 2016.
  6. ^ Amazon API Gateway Now Supports Swagger Definition Import, su InfoQ. URL consultato il 25 aprile 2016.

Bibliografia[modifica | modifica wikitesto]

  • F. Haupt, D. Karastoyanova, F. Leymann e B. Schroth, A Model-Driven Approach for REST Compliant Services, in ICWS 2014, 2014 IEEE International Conference on Web Services, 2014, pp. 129–136, DOI:10.1109/ICWS.2014.30, ISBN 978-1-4799-5054-6.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]